0

私は JSON の新機能です。指定された JSON 文字列を JavaScript で読み取るにはどうすればよいですか。関連する配列を High Chart に渡したいです。

{"getTemperatureResult":"[[\"{name: 'Tokyo',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}\",\"{name: 'New York',data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]}\",\"{name: 'Berlin',data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]}\",\"{name: 'London',data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]}\"],[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"July\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]]"}
4

5 に答える 5

3

「与えられた JSON 文字列を JavaScript で読み取るにはどうすればよいですか」.

「読む」という動詞は少しあいまいですが、評価したい場合は、

JSON.parse()

JSON を実際に解析するには、JSON 内で使用されていない引用符で JSON をカプセル化する必要がありますが、コードを見ると、それを行う簡単な方法はありません..あなたへの私のアドバイスは -

その JSON は、ある時点でサービスから文字列として返されます。\"現状では、一重引用符または二重引用符で評価する方法がないため、すべての一重引用符でグローバル置換を実行して、それらを a に置き換えます。

JSON に関するちょっとしたヒント - JSON lint を介して JSON を実行し、それが有効であることを確認してください。問題は、JSON が適切にフォーマットされていないことが原因で発生する可能性があります。

検証にはhttp://jsonlint.comを使用してください。

于 2013-07-09T12:44:59.993 に答える
1

読んだ:

var obj=JSON.parse(jsonstring);

obj.getTemperatureResult// contains the city array

文字列に戻る

JSON.stringify(obj);
于 2013-07-09T12:44:03.520 に答える