JSON をあまり実装していないので、データを処理するための推奨されるアプローチがあるかどうか知りたいです。2 つの主なアプローチがあると推測していますが (おそらくそれらは無効な JSON です)、追加のプラス/マイナス、またはより良いアプローチがあるかどうかを確認したいと思います。
アプローチ 1 : キーと値のペアの組み合わせ
var all_in_one = { "person" : [{
"firstName" : "John",
"lastName" : "Smith",
"phone" : [{
"areaCode" : "800",
"number" : "222-3333"
},
{
"areaCode" : "800",
"number" : "222-3334",
"extension" : "1111"
}]
},
{
"firstName" : "John",
"lastName" : "Rolfe"
},
{...}],
"other" : [{...}]
};
利点:
- キーは値に近い (値をループしてプルするときのコードがより視覚的で明確になる)
- 値/キーは必要ありません (流体モデル/構造)
問題:
- 複数のレコードのオーバーヘッドが増える (キーの繰り返し)
アプローチ 2 : キーと値の分離
var json = { "model" : { "person" : ["firstName","lastName",["areaCode","number","extension"]],
"other" : [...]
},
"data" : { "person" : [["John","Smith",[["800","222-3333",undefined],
["800","222-3334","1111"]]],
["John","Rolfe",[[undefined,undefined,undefined]],
[...]
],
"other" : [...]
}
};
利点:
- オーバーヘッドが少ない (キーは 1 回定義される)
- 一箇所で変更可能な静的モデル/構造
問題:
- 変更が予想される場合、静的モデル/構造はより問題になる可能性があります
- データを抽出するとき、コードがより混乱する可能性があります