服務器以JSON形式返回對象數組。它看起來是這樣的:對象數組的JSON.parse
{"d":"[
{\"Id\":1,\"IsGood\":true,\"name1\":\"name1dsres\",\"Name2\":\"name2fdsfd\",\"name3\": \"name3fdsgfd\",\"wasBorn\":\"\\/Date(284011000000)\\/\"},
{\"Id\":2,\"IsGood\":false,\"name1\":\"fdsfds\",\"name2\":\"gfd3im543\",\"name3\":\"3543gfdgfd\",\"WasBorned\":\"\\/Date(281486800000)\\/\"}
]"}
我需要使用JSON.parse函數進行解析。我這樣做是這樣的:
function myFunction(dataFromServer){
var parsedJSON = JSON.parse(dataFromServer.d);
for (var item in parsedJSON.d) {
// how do I get the fields of current item?
}
此代碼不能正常工作,它返回undefined
for (var item in parsedJSON) {
alert(item.Id);
}
和什麼你的問題 ?? – Jashwant 2012-07-13 10:38:33
假設'dataFromServer'包含您發佈的數據並且已經解析了它,那麼'parsedJSON'已經是一個數組,它沒有屬性'd'。如果你想知道如何訪問對象的屬性,請查看https://developer.mozilla.org/en/JavaScript/Guide/Working_with_Objects – 2012-07-13 10:38:36
關於你的更新:這不是你如何遍歷數組。看看下面的鏈接來理解'for ... in':https://developer.mozilla.org/en/JavaScript/Reference/Statements/for...in。使用普通的'for'循環遍歷數組。 – 2012-07-13 10:43:07