[解決済み] 複数の配列を持つJSONオブジェクトを作るにはどうしたらいいですか?
2022-03-16 16:54:49
質問
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配列内のすべての文字列値も同様に二重引用符で囲む必要があります。
ご覧ください。
関連
-
[解決済み] Azure VMのエラーです。"あなたのアカウントは、このデバイスを使用できないように設定されています。詳細については、システム管理者にお問い合わせください" [終了しました]。
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] Microsoft JSONの日付はどのようにフォーマットするのですか?
-
[解決済み] jQueryでフォームデータをJavaScriptオブジェクトに変換する
-
[解決済み] JSONファイルをprettyprintする方法は?
-
[解決済み] JSON文字列を安全にオブジェクトに変換する
-
[解決済み] JSオブジェクトをJSON文字列に変換する
-
[解決済み] JavaScriptで配列を比較する方法は?
-
[解決済み] クラスをJSONシリアライザブルにする方法
-
[解決済み] どのようにjqを使用して2つのファイルから2つのJSONオブジェクトをマージするには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Elasticsearchでネストしたオブジェクトを検索する方法
-
[解決済み] マニフェスト 行: 1, 列: 1, 構文エラー
-
ajax return json format Report 500 Internal Server Error
-
[解決済み] GIFをLottie jsonに変換するにはどうしたらいいですか?
-
[解決済み] Notepad++でJSONを再フォーマットする方法は?
-
[解決済み] バイナリデータをJSON文字列で。Base64より優れたもの
-
[解決済み] Express アプリケーションで JSON POST データを消費する方法
-
[解決済み] jsonパラメータを含むCurl GETリクエスト
-
[解決済み] Swift 4 の JSONDecoder で、見つからないキーは、オプションのプロパティである必要はなく、デフォルト値を使うことができますか?
-
[解決済み] Mongo コレクションを JSON 形式にダンプする