2016-02-15 64 views
1

我創建了一個JSON文件,以便將數據存取到我的一個FramerJS原型中。我知道如何創建基本的JSON,但不幸的是我掙扎着創建更復雜的JSON。如何合併兩個JSON文件然後檢索它?

下面的例子給出了我想要做的一些提示。那是對的嗎?

{ 
    "bus":[{ 
      "id":1, 
      "posX":1080, 
      "posY":1575, 
     },{ 
      "id":2, 
      "posX":1080, 
      "posY":1575, 
     }], 

    "trains":[{ 
      "id":1, 
      "posX":1080, 
      "posY":1575, 
     }, { 
      "id":2, 
      "posX":1080, 
      "posY":1575 
     } 
    ] 
} 

二,如何訪問它的值?以下代碼是否正確?

y: bus.posY 

在此先感謝您。

+0

'bus'是一個數組,因此無論是bus [0] .posY還是bus [1] .posY'都取決於對象。 – Andy

+0

哪裏是要合併的部分?,訪問是'object.bus [some index] .posY' –

+0

y:bus.posY,你爲什麼選擇y:這裏?你想從你的數據中獲得什麼價值? – Glubus

回答

0

指數我認爲你的目標是:

var json = { 
    "bus":[{ 
      "id":1, 
      "posX":1080, 
      "posY":1575, 
     },{ 
      "id":2, 
      "posX":1080, 
      "posY":1575, 
     }], 

    "trains":[{ 
      "id":1, 
      "posX":1080, 
      "posY":1575, 
     }, { 
      "id":2, 
      "posX":1080, 
      "posY":1575 
     } 
    ] 
}; 

然後,你的公交車是一個數組,所以你必須像下面解釋的那樣訪問它:

json.bus[0]["posY"] //will be 1575 

json.bus[0].posY //will be 1575 

或者您可以迭代(for)並獲取您的特定索引。

json.bus[i]["posY"] 

json.bus[i].posY 
1

第二我如何獲得它的價值? 下面的代碼是否正確?

bus是一個數組,所以你將不得不

  • 要麼重複它來獲得特定的值

    obj.bus[i].posX; // i是在循環計數器變量

這可能是一個for循環

for (var i = 0; i < obj.bus.length; i++) 
{ 
    console.log(obj.bus[i].posX); 
} 
  • 選擇特定的索引值

    obj.bus[0].posX; // 0爲對象的內部bus