0

以下の JSON 文字列から {cols:[{"id":"t","label":"Title","type":"string"},{"id":"l","label":"Avg ","type":"string"},{"id":"lb","label":"High","type":"string"},{"id":"lo","label":"Low","type":"string"}],rows:[{"c":[{"v":"Change navigation"},{"v":5.6666666666667},{"v":"10"},{"v":"1"}]},{"c":[{"v":"Executive leadership"},{"v":6.0666666666667},{"v":"7"},{"v":"3"}]},{"c":[{"v":"Business ownership"},{"v":5.8095238095238},{"v":"10"},{"v":"2"}]},{"c":[{"v":"Change enablement"},{"v":6.4285714285714},{"v":"9"},{"v":"5"}]}]}

どうすれば次のようなものを取得できますか

['Change navigation=6.5333333333333','Executive leadership=6.0666666666667', 'Business ownership=5.8095238095238','Change enablement=6.4285714285714']

Javascript の使用

AJAXからの応答としてJSONオブジェクトを取得しました.今、それを使ってイメージチャートを描画しようとしています.JSON.stringifyを適用してオブジェクトを変換しました.しかし、チャートが理解できる形式に変換する方法がわかりません.

4

4 に答える 4

0

が JSON オブジェクトの場合json、次のコードを使用できます。

var arr = [],
    i = 0;

for (; i < json.rows.length; i++) {
    arr.push(json.rows[i].c[0].v + '=' + json.rows[i].c[1].v);
}

console.log(arr);  // -> ["Change navigation=5.6666666666667", "Executive leadership=6.0666666666667", "Business ownership=5.8095238095238", "Change enablement=6.4285714285714"]

ここにデモがあります。

于 2012-08-20T15:58:23.140 に答える
0

基本的に、各行をループし、チャード コントロールが期待する形式で新しいオブジェクトのセットを構築し、それをチャート コントロールにロードする必要があります。

于 2012-08-20T15:48:26.807 に答える
0

JSON 文字列を魔法の JSONLint に貼り付けると、JSON が無効であることがわかります。JavaScript は有効な部分を取得しようとするため、完全なオブジェクトを取得できないのはそのためです。

http://jsonlint.com/

于 2012-08-20T15:46:56.300 に答える
0

結果配列を作成します。解析されたオブジェクトのプロパティを取得し、rowsその配列をループして、エントリごとに適切な文字列 ( entry.c[0].v+" "+entry.c[1].v) を結果の配列にプッシュします。終わり。

于 2012-08-20T15:47:46.003 に答える