JSON文字列からJSオブジェクトへ
2023-07-31 14:15:19
質問
Googleビジュアライゼーションでグラフを作成するためにJSオブジェクトを使用しています。データソースを設計しようとしています。まず、クライアントサイドでJSオブジェクトを作成しました。
var JSONObject = {
cols: [{
id: 'date',
label: 'Date',
type: 'date'
},
{
id: 'soldpencils',
label: 'Sold Pencils',
type: 'number'
},
{
id: 'soldpens',
label: 'Sold Pens',
type: 'number'
}
],
rows: [{
c: [{
v: new Date(2008, 1, 1),
f: '2/1/2008'
}, {
v: 30000
}, {
v: 40645
}]
},
{
c: [{
v: new Date(2008, 1, 2),
f: '2/2/2008'
}, {
v: 14045
}, {
v: 20374
}]
},
{
c: [{
v: new Date(2008, 1, 3),
f: '2/3/2008'
}, {
v: 55022
}, {
v: 50766
}]
}
]
};
var data = new google.visualization.DataTable(JSONObject, 0.5);
さて、私はデータを動的に取得する必要があります。そこで、JSON文字列を返すページにAJAXリクエストを送信しています。
"cols: [{id: 'date', label: 'Date', type: 'date'},
{id: 'soldpencils', label: 'Sold Pencils', type: 'number'},
{id: 'soldpens', label: 'Sold Pens', type: 'number'}],
rows: [{c:[{v: new Date(2008,1,1),f:'2/1/2008'},{v: 30000}, {v: 40645}]},
{c:[{v: new Date(2008,1,2),f:'2/2/2008'},{v: 14045}, {v: 20374}]},
{c:[{v: new Date(2008,1,3),f:'2/3/2008'},{v: 55022}, {v: 50766}]}"
これを変数に保存しています。
var var1 = "cols: [{i ....... 66}]}"
と表示し
alert(var1);
さて、私の仕事はこの文字列からJSオブジェクトを作成することです。これはうまくいきません。JSオブジェクトを使用すると、すべてが正常に動作し、必要なグラフを取得することができます。今、私がアラートメッセージから確認したAJAXリクエストからの文字列の同じ値をnオブジェクトに入れようとすると、オブジェクトは正しく作成されません。ご意見、修正、アドバイスなどありましたら教えてください。
どのように解決するのですか?
最近のブラウザには、JSON をネイティブなオブジェクトにパースするためのサポートがあるものがあります。
var var1 = '{"cols": [{"i" ....... 66}]}';
var result = JSON.parse(var1);
対応していないブラウザのために、json2.jsは以下からダウンロードできます。 json.org からダウンロードして、JSON オブジェクトを安全にパースすることができます。 このスクリプトはネイティブのJSONサポートをチェックし、それが存在しない場合は、代わりにJSONグローバルオブジェクトを提供します。 より高速でネイティブなオブジェクトが利用可能な場合は、それをそのまま残してスクリプトを終了します。 しかし、有効な JSON を提供しなければなりません。さもなければエラーが発生します。 http://jslint.com または http://jsonlint.com .
関連
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jQueryでJSONにシリアライズする [重複] [重複
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] Angularjs - 現在の日付を表示する
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] JavaScriptを使用してHTML要素に属性を追加/更新するには?
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] ECMAScriptとは?
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] javascriptでオプションのパラメータを扱う
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?