嗨,我正在获得像这样的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"
}]
}
但是当我在ajax中警告这个响应时它显示为[object Object] ajax代码就像这样
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var model_result = JSON.parse(xmlHttp.responseText)
alert('' + model_result);
}
我已经尝试了JSON.parse和eval。
答案 0 :(得分:4)
您可以尝试打印出JSON对象的字符串版本,如下所示:
alert(JSON.stringify(model_result));
答案 1 :(得分:2)
如果您使用FireBox并使用FireBug写console.log (model_result);
或console.dir(model_result);
并确保自己的返回方式如何
答案 2 :(得分:1)
解析的JSON字符串是javascript中的对象。这是正常的。
例如,如果要查看第一个software_id,可以执行以下操作:
alert(model_result.Software[0].software_id);
答案 3 :(得分:0)
这取决于你是如何进行AJAX调用的。大多数API在收到字符串响应时将其转换为EVAL,将其转换为对象。如果你想要STRING,请确保调用TEXT而不是JSON。
在您的情况下,如果您想要字符串,请不要JSON.parse响应。这就是将它转换为对象的原因。
如果要显示属性的值,另一种方法是使用关联数组语法迭代对象
for(var i in resultObject) {
var value = resultObject[i];
alert(i + " = "+ value);
}