0

次のようにフォーマットされた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を再構築するにはどうすればよいですか?

4

1 に答える 1

3

Stage1、Stage2を配列に入れないでください。キーとして直接アクセスできます

于 2012-04-30T10:01:51.723 に答える