次のようにフォーマットされたJSONデータがあります。
[ {"stage1" : [{
"checkpoints" :
[
{
"id" : "checkpoint1",
"name" : "a checkpoint name 1",
"purpose" : "a string about the purpose here",
},
{
"id" : "checkpoint2",
"name" : "a checkpoint name 2",
"purpose" : "a string about the purpose here",
}
],
"stages" :
[
{
"id" : "an id here",
"name" : "a checkpoint name 1",
"purpose" : "a string about the purpose here yah",
}
]
}
]},
{"stage2" : [{
"checkpoints" :
[
{
"id" : "checkpoint1",
"name" : "a checkpoint name 1",
"purpose" : "a string about the purpose here",
},
{
"id" : "checkpoint2",
"name" : "a checkpoint name 2",
"purpose" : "a string about the purpose here",
}
],
"stages" :
[
{
"id" : "an id here",
"name" : "a checkpoint name 1",
"purpose" : "a string about the purpose here yah",
}
]
}
]},
{"stage3" : [{
"checkpoints" :
[
{
"id" : "checkpoint1",
"name" : "a checkpoint name 1",
"purpose" : "a string about the purpose here",
},
{
"id" : "checkpoint2",
"name" : "a checkpoint name 2",
"purpose" : "a string about the purpose here",
}
],
"stages" :
[
{
"id" : "an id here",
"name" : "a checkpoint name 1",
"purpose" : "a string about the purpose here yah",
}
]
}
]},
]
現在、ある段階で取得するには、次のようなデータを参照する必要があります。
alert(data[0].stage1[0].checkpoints.length);
ステージ2のデータを取得するには、次のことを行う必要があります。
alert(data[1].stage2[0].checkpoints.length);
私ができるようにしたいのは、'data'宣言の後にインデックスを指定することなく、ステージ名を使用してデータにアクセスすることです。
alert(data.stagex[0].checkpoints.length);
データ部分の後にインデックスを記載する必要はありません。最初にインデックスを指定せずにステージ名を使用して必要なデータを取得できるように、JSONを再構築するにはどうすればよいですか?