2017-08-29 60 views

回答

1

糾正我,如果我錯了,但JavaScript沒有類似於C#的List/Array數據類型。然而,有數組和對象,你的API調用很可能會返回一個對象數組,但我從來沒有遇到過API.ai,所以我不會爲此付出代價。

對象是JSON格式,您可以使用陣列上的.length()函數檢查陣列中有多少個對象。

與API的樣品反應,如這樣的:

[{ 
    title : "Title 1", 
    context : "Context 1" 
}, 
{ 
    title : "Title 2", 
    context : "Context 2" 
}] 

您可以循環做一個簡單:

for(var i = 0; i < response.length(); i++){ 
    response[i] // Object 
} 

注意我怎麼離開response[i],您則可以訪問給定的性質對象,如response[i].titleresponse[i].context

在旁註&作爲頭條,你可能需要在循環之前將你的返回值解析爲JSON,這一切都取決於你的代碼。

編輯值得注意:

響應可能包含具有分配的對象的陣列的屬性,所述對象將類似於:

[{ 
    title : "Title 1", 
    context : "Context 1", 
    prop : [{ val : "val 1", name : "val 1" }] 
}, 
{ 
    title : "Title 2", 
    context : "Context 2", 
    prop : [{ val : "val 2", name : "val 2" }] 
}] 

爲了迭代內陣列上(丙字段)一個簡單修改我們的for循環以上:

for(var i = 0; i < response.length(); i++){ 
    for(var j = 0; j < response[i].prop.length(); j++){ 
     response[i].prop[j] // Inner Object 
    } 
} 
+0

謝謝。我查看了與它一起發送的JSON文件,你是對的,它是一個簡單的數組來迭代。 – doggoz

相關問題