0

これは、PHP の json_encode 関数の行です。

echo $_GET['callback'].'('.json_encode($jsona).')'; 

それが戻る

jQuery183022578700515441597_1353992348618([{"label":["done","open","pending","draft","cancel"],"values":[{"label":"August","values":["175","32","1","0","0"]},{"label":"September","values":["450","130","1","0","1"]},{"label":"October","values":["150","396","1","5","0"]},{"label":"November","values":["0","0","0","3","0"]}]}])

そして、JS(jQuery)でそれらを取得します

    $.ajax({
                url: 'ajax/_state.php',
                type: 'GET',
                dataType: 'jsonp',
                dataCharset: 'jsonp',
                success: function (data) {
console.log(data);
    }
});

しかし、返された JSON に含まれる数値はすべて文字列に変換されます (理由がわかりません)。

たとえば、それらを整数に変換するにはどうすればよいですか。

{
      'label': ['done', 'open', 'pending', 'draft', 'cancel'],
      'values': [
      {
        'label': 'Sept',
        'values': [20, 40, 15, 5,2]
      }, 
      {
        'label': 'Oct',
        'values': [30, 10, 45, 10]
      }, 
      {
        'label': 'Nov',
        'values': [38, 20, 35, 17]
      }
      ]
      }
4

1 に答える 1

1

の値は$jsona文字列でなければなりません。PHP 5.3 を使用している場合は、JSON_NUMERIC_CHECK必要に応じて文字列を整数としてキャストする 2 番目の引数として使用できますが、そのオプションには注意してください。

于 2012-11-27T05:17:05.450 に答える