0

このjsonデータを変換する方法はありますか:

[

    {
        "year":"1999",
        "value":"3.0"
    },
    {
        "year":"2008",
        "value":"0.9"
    }

]

これを好きに:

{
    "data": [[1999, 3.0], [2008, 0.9]]
}

値のタイプ (「3.0」と 3.0、文字列と整数) を確認します。

私はこれを理解するのに苦労していますか、それとも可能ですか.

これがjsonデータを取得する方法です。データベースに「データ」テーブルがあり、「年」列と「値」列があり、データベースから次のように取得します。

    $sql = mysql_query("SELECT * FROM data");
        $rows = array();
        while($r = mysql_fetch_assoc($sql)) {
            $rows[] = $r;
        }
        $encodedJson = json_encode($rows);

$encodedJson = json_encode($rows);
print $encodedJson;

データからグラフを作成しようとしていますが、json データはFlotで機能するように適切にフォーマットする必要があります。すべての助けに感謝します!

4

3 に答える 3

3

オブジェクトの配列を多次元配列にマップできます。

var mapped = originalData.map(function (obj) {
  return [ parseInt(obj.year, 10), parseFloat(obj.value) ];
});

var newData = {
  data: mapped
};
于 2013-04-12T18:52:13.403 に答える
1

考えられる解決策

  var a = [

        {
            "year":"1999",
            "value":"3.0"
        },
        {
            "year":"2008",
            "value":"0.9"
        }

    ];

    var b = [];
    $.each(a, function(_index, _item){
        var c = [_item["year"], _item["value"]];
        b.push(c);
    });

console.log(b)
于 2013-04-12T18:54:18.850 に答える
0

これを試して。PHP:

$sql = mysql_query("SELECT * FROM data");
 $rows = $sql->results_array();
$return_args = array();
foreach($rows as $row){
  $tmp[0] = $row['year'];
  $tmp[1] = $row['value'];
  array_push($return_args,$tmp);
}

 $encodedJson = json_encode($return_args);

 print $encodedJson;
于 2013-04-12T18:54:07.770 に答える