[解決済み] 複数の配列を持つJSONオブジェクトを作成するには?
2023-03-24 03:33:57
質問
JSONを使ったことがないので、その構文がよくわかりません。
現在、私は異なるデータの部分を含む複数の配列を持っています。
私は、複数のデータを含む複数の配列を含む1つのJSONオブジェクトを作成したいと思います。
例えば
carsというオブジェクトがあり、それぞれ異なる車種を表す複数の配列があります。各配列には、車のモデルや、ドアの数など他のタイプのデータも含まれます(実際には重要ではなく、単なる架空の例です)。
誰かが例を使って構文を説明してくれると非常にありがたいのですが。
どのように解決するのですか?
一番外側のレベルでは、JSONオブジェクトの始まりは
{
で始まり、最後に
}
.
サンプルデータです。
{
"cars": {
"Nissan": [
{"model":"Sentra", "doors":4},
{"model":"Maxima", "doors":4},
{"model":"Skyline", "doors":2}
],
"Ford": [
{"model":"Taurus", "doors":4},
{"model":"Escort", "doors":4}
]
}
}
JSONがdataという変数に代入されている場合、それにアクセスするのは以下のようになります。
data.cars['Nissan'][0].model // Sentra
data.cars['Nissan'][1].model // Maxima
data.cars['Nissan'][2].doors // 2
for (var make in data.cars) {
for (var i = 0; i < data.cars[make].length; i++) {
var model = data.cars[make][i].model;
var doors = data.cars[make][i].doors;
alert(make + ', ' + model + ', ' + doors);
}
}
別のアプローチ(インデックス配列ではなく、車種別の連想配列を使用)。
{
"cars": {
"Nissan": {
"Sentra": {"doors":4, "transmission":"automatic"},
"Maxima": {"doors":4, "transmission":"automatic"}
},
"Ford": {
"Taurus": {"doors":4, "transmission":"automatic"},
"Escort": {"doors":4, "transmission":"automatic"}
}
}
}
data.cars['Nissan']['Sentra'].doors // 4
data.cars['Nissan']['Maxima'].doors // 4
data.cars['Nissan']['Maxima'].transmission // automatic
for (var make in data.cars) {
for (var model in data.cars[make]) {
var doors = data.cars[make][model].doors;
alert(make + ', ' + model + ', ' + doors);
}
}
編集します。
訂正します。JSONオブジェクトは
{
で始まり
}
で始まる JSON 配列を (一番外側のレベルで) 持つことも有効です。
[
で始まり
]
.
また、元のJSONデータの重要な構文エラーも修正されました。JSONオブジェクト内のすべてのキー名は二重引用符で囲む必要があり、JSONオブジェクトまたはJSON配列内のすべての文字列値も同様に二重引用符で囲む必要があります。
を参照してください。
関連
-
[解決済み] マニフェスト 行: 1, 列: 1, 構文エラー
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] JSONファイルをprettyprintする方法は?
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み] JSオブジェクトをJSON文字列に変換する
-
[解決済み] JavaScriptで配列を比較する方法は?
-
[解決済み] クラスをJSONシリアライザブルにする方法
-
[解決済み] JSONのXSLT対応
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】jq: 文字列で配列のインデックスを作成できない
-
[解決済み] Twitter API エラー 215
-
[解決済み] ネストしたng-repeat
-
com.fasterxml.jackson.databind.exc.MismatchedInputException: インスタンスのデシリアライズができない
-
[解決済み] 複数の配列を持つJSONオブジェクトを作るにはどうしたらいいですか?
-
[解決済み] JSON APIのレスポンス形式には規格がありますか?
-
[解決済み] ASP.NETでJSONを単純なDictionary<string,string>にデシリアライズするにはどうすればよいですか?
-
[解決済み] node.jsでJSONをpretty-printするにはどうしたらいいですか?
-
[解決済み] JSON命名規則(snake_case、camelCase、PascalCase) [終了しました。]
-
[解決済み] react nativeでローカルのJSONファイルからデータを取得するには?