1

動的xChartを構築しています。私が渡している動的データは、js によってオブジェクトに変換する準備ができている事前構築済みの文字列です。

{"data": [{"x":"car insurance companies","y":1417},
          {"x":"insurance companies","y":17201},
          {"x":"auto insurance companies","y":892},
          {"x":"car insurance quote","y":3280},
          {"x":"auto insurance quote","y":988}]}

xCharts が必要とするパラメーター コードのサンプル スニペットを次に示します。

var data = {
  "xScale": "ordinal",
  "yScale": "linear",
  "main": [
    {
      "className": ".pizza",
      "data": [
        {
          "x": "Pepperoni",
          "y": 4
        },
        {
          "x": "Cheese",
          "y": 8
        }
      ]
    }
  ]
};

そして、ここに私のパラメータセットがあります:

var vars = {
    "xScale": "ordinal",
    "yScale": "linear",
    "type": "bar",
    "main": [
    {
        "className": ".topsy-results"
    }
    ]
};

data完成させるには、mainオブジェクトをパラメーター リストのオブジェクトに追加する必要があります。オブジェクトの場合$.parseJSONdata機能しないオブジェクトのオブジェクトが提供されます。dataオブジェクトを解析して必要な形式を取得するにはどうすればよいですか(提供したサンプル コードと一致させるため)。

4

2 に答える 2

3

dataプロパティをmainに割り当てることで、その場で追加できます。

var myData={"data": [{"x":"car insurance companies","y":1417},
          {"x":"insurance companies","y":17201},
          {"x":"auto insurance companies","y":892},
          {"x":"car insurance quote","y":3280},
          {"x":"auto insurance quote","y":988}]};
vars.main.data = myData.data;
console.log(vars);
于 2013-02-18T16:28:51.180 に答える
3

2つを使用$.extendしてマージするだけですか?

var prebuilt = {...}; //that pre-build data
var vars = {...}; // Your vanilla settings

var merged = $.extend({}, vars, {
  'main': prebuilt
});

別のオブジェクトに配置prebuiltしたので、拡張時にネストが機能しますが、オブジェクトprebuilt内に表示されるはずです。注:データ情報以外の情報がある場合、またはプロパティに既存の部分が既にあり、それらを更新または新しいものを追加したい場合に便利です)。datamerged $.extenddata

参照だけで割り当てることもできます。

vars.main.data = prebuilt.data;
于 2013-02-18T16:29:22.943 に答える