Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过AJAX的JSON格式_Javascript_Ajax_Json - Fatal编程技术网

Javascript 通过AJAX的JSON格式

Javascript 通过AJAX的JSON格式,javascript,ajax,json,Javascript,Ajax,Json,嗨,我得到了这样的json格式 { "communication": [{ "communication_name": "None", "communication_id": "1" }], "hardware": [{ "hardware_name": "XXXXXXXX", "hardware_id": "6" }], "Sofware": [{ "software_nam

嗨,我得到了这样的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"
    }]
}
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
    var model_result = JSON.parse(xmlHttp.responseText)
    alert('' + model_result);
}
但是,当我在ajax中对这个响应发出警报时,它显示为[object] ajax代码如下所示

{
    "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"
    }]
}
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
    var model_result = JSON.parse(xmlHttp.responseText)
    alert('' + model_result);
}

我已经尝试了JSON.parse和eval

已解析的JSON字符串,是javascript中的对象。这很正常

例如,如果要查看第一个软件id,可以执行以下操作:

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

已解析的JSON字符串是javascript中的对象。这很正常

例如,如果要查看第一个软件id,可以执行以下操作:

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

这取决于您如何进行AJAX调用。大多数API在接收字符串响应时都会对其进行求值,从而将其转换为对象。如果需要字符串,请确保您是以文本而不是JSON的形式调用

在本例中,如果需要字符串,请不要对响应进行JSON.parse。这就是将其转换为对象的过程

如果要显示属性值,另一种方法是使用关联数组语法在对象上迭代

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

这取决于您如何进行AJAX调用。大多数API在接收字符串响应时都会对其进行求值,从而将其转换为对象。如果需要字符串,请确保您是以文本而不是JSON的形式调用

在本例中,如果需要字符串,请不要对响应进行JSON.parse。这就是将其转换为对象的过程

如果要显示属性值,另一种方法是使用关联数组语法在对象上迭代

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

如果您的FireFox带有FireBug write
console.log(model_result)
console.dir(model_结果)console.log(model_result),您可以确保返回的结果是什么样子
console.dir(model_结果)并确保返回的外观如何

您可以尝试打印JSON对象的字符串版本,如下所示:


alert(JSON.stringify(model_result))

您可以尝试打印JSON对象的字符串版本,如下所示:

alert(JSON.stringify(model_result))