2011-03-24 56 views
1

喜我得到這樣JSON格式

{ 
    "communication": [{ 
     "communication_name": "None", 
     "communication_id": "1" 
    }], 
    "hardware": [{ 
     "hardware_name": "XXXXXXXX", 
     "hardware_id": "6" 
    }], 
    "Sofware": [{ 
     "software_name": "XXXXXX", 
     "software_id": "3" 
    }, { 
     "software_name": "XXXXXXXXXXXXX", 
     "software_id": "4" 
    }] 
} 

JSON格式但同時我做在AJAX這個響應的警報它示出作爲[對象的對象] Ajax代碼是這樣的

if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { 
    var model_result = JSON.parse(xmlHttp.responseText) 
    alert('' + model_result); 
} 

我已經嘗試了JSON.parse和eval。

回答

1

解析的JSON字符串是javascript中的一個對象。這很正常。

舉例來說,如果你想看到你能做到這一點,第一software_id:

alert(model_result.Software[0].software_id); 
0

這取決於你如何做你的AJAX調用。大多數API在收到字符串響應時EVAL EVAL將其轉換爲對象。如果你想要STRING,請確保你調用的是TEXT而不是JSON。

在你的情況下,如果你想要的字符串,不要JSON.parse響應。這就是將它轉換爲一個對象。

如果你想顯示替代是屬性的值使用關聯數組語法

for(var i in resultObject) { 
    var value = resultObject[i]; 
    alert(i + " = "+ value); 
} 
2

遍歷對象,如果你使用Firefox使用Firebug寫console.log (model_result);console.dir(model_result);你確保自己如何返回外觀像

4

您可以嘗試打印出的JSON對象的像這樣的字符串指明分數版本:

alert(JSON.stringify(model_result));