2017-06-06 49 views
0

我目前正試圖解析一個JSON響應(使用POSTMAN)。POSTMAN:解析一個JSON響應,我可以進入響應有多深?

JSON響應的結構如下(我用...跳過不相關的信息):

*

{ 
    "href": ..., 
    "offset": ..., 
    "limit": ..., 
    "first": ..., 
    "last": ..., 
    "entries": [ 
    { 
     "href": ..., 
     "id": ..., 
     "name": "MY_FIRST_ITEM_NAME", 
     "tags": [ 
     ..., 
     ... 
     ], 
     "objectClass": [ 
     ... 
     ], 
     "attributes": { 
     ..., 
     ..., 
     ..., 
     "device.type": "MY_ITEM_TYPE, 
     ... 
     }, 
     ... 
    }, 
    { 
     "href": ..., 
     "id": ..., 
     "name": "MY_SECOND_ITEM_NAME", 
     "tags": [ 
     ..., 
     ... 
     ], 
     "objectClass": [ 
     ... 
     ], 
     "attributes": { 
     ..., 
     ..., 
     ..., 
     "device.type": "MY_ITEM_TYPE, 
     ... 
     }, 
     ... 
    }, 
    ... 
    ] 
}* 

我想測試幾個已知值: 測試[「測試第一item「] = responseBody.has(」MY_FIRST_ITEM_NAME「) 這個工作,但我也想檢查相關的設備類型 如果我使用responseBody.has(」MY_ITEM_TYPE「)我不知道它是哪個項目有關,所以我試着做一個更精確的檢查: *

tests["test entries 0"] = body.entries[0].name === "MY_FIRST_ITEM_NAME"*; 
this works but when it comes to test the device type: 
tests["test entries 0"] = body.entries[0].attributes.device.type 

它以錯誤結束了「類型錯誤:無法讀取的未定義的屬性‘類型’」

與控制檯可以看我的屬性(做的console.log(body.entries [0 ] .attributes);)但是不可能更深入一步。這是郵差限制嗎?有沒有另一種方法可以精確地達到這種設備類型信息?

謝謝大家幫忙

亞歷山大

+0

選擇JSON從下拉菜單響應領域,其中顯示響應 –

+0

居然有人幫我解決這個問題。這裏是答案:body.entries [0] .attributes ['device.type']返回值。當心報價,它只適用於單打。 –

回答

0

Oups!對於編輯抱歉,我對此很新。下面是這個問題的答案, 的device.type屬性可以達到這樣說: body.entries [0] .attributes [「device.type」]

有一些限制,但: - 我可以't使用.attributes [2],2是元素的索引,如果'attributes'可以被看作一個表。 - 語法是特別的,如果我們使用雙引號代替單引號 這是行不通的 - 我仍然不知道爲什麼會發生在這個階段......如果有人知道,我會很高興從他讀

乾杯

亞歷山大