2

JSON 文字列を返す Web サービスからの REST 応答の使用に取り組んでいます。AJAX からの結果応答は、多くの情報を取得し、JQuery.parseJSON(result) を使用して各 JSON タグから値を取得することです。

この結果の応答から、Highchart に収まるようにフォーマットする必要があります。ハイチャートでは、次のようにフォーマットする必要があります。

series: [{
    name: 'Tokyo',
    data: [7.0, 6.9, 9.5, 14.5, 18.2],
    name: 'LA',
    data: [7.0, 6.9, 9.5, 14.5, 18.2]
}]

結果データをループして、Highchart が望んでいるような JSON 文字列を作成する最良の方法は何ですか? 以下はこれを解決するための開始ですが、終了できません。

success: function (result) {
    var resultobj = jQuery.parseJSON(result);
    for (i = 0; i < resultobj.length; i++) {
        var objt = resultobj[i];
        // what TODO?????
        highchartresultarray.push(objt.name);
    }

助言がありますか?

4

1 に答える 1

0

私はハイチャートに精通していませんが、質問のシリーズ配列に基づいています(同じ名前の複数のプロパティを持つオブジェクトを示しているため、小さな間違いがあると思います-各名前とデータプロパティは、それぞれのプロパティ内にカプセル化する必要がありますそれの外観からのそれぞれのオブジェクト)とあなたが提供したサンプルデータ、私はあなたに期待される結果を与えるべき単純な関数を作りました - 関数の前提はあなたのオブジェクトを保持するための空の配列を作成することです。生データは、生データから必要なビットを空のオブジェクトに入れ、各反復でデータが取り込まれたオブジェクトをコンテナ配列にプッシュします-私は物事をうまく説明していません! ここにコードがあります-

function highchartdata(data) {

highchartarray = [];

$.each(data,function(i,v){

    var highchartobj = {};

    highchartobj.data = v.data.split(',');

    highchartobj.name = v.name;

    highchartarray.push(highchartobj);

});

return highchartarray;

};

そして、ここに働くフィドルがあります - http://jsfiddle.net/nuqJD/10/

于 2012-11-23T15:09:34.747 に答える