Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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 解析JSON中的错误消息失败_Javascript - Fatal编程技术网

Javascript 解析JSON中的错误消息失败

Javascript 解析JSON中的错误消息失败,javascript,Javascript,钛合金SDK版本:1.6.1 iPhone SDK版本:4.2 我从我正在使用的API中得到这个响应,我想要一个弹出窗口 在每个错误上显示。例如:Desc不能为空。我正在使用JavaScript 这是JSON中的输出 {"desc":"can't be blank","value_1":"can't be blank"} 我试过这个,但它输出每个字符,一个接一个 for (var thekey = 0; thekey < response.length; thekey++) {

钛合金SDK版本:1.6.1
iPhone SDK版本:4.2

我从我正在使用的API中得到这个响应,我想要一个弹出窗口 在每个错误上显示。例如:Desc不能为空。我正在使用JavaScript

这是JSON中的输出

{"desc":"can't be blank","value_1":"can't be blank"}
我试过这个,但它输出每个字符,一个接一个

for (var thekey = 0; thekey < response.length; thekey++) {

    alert(response[thekey]);

};
for(var thekey=0;thekey

如何输出错误?

您必须首先使用以下命令将JSON解析为JavaScript对象:

JSON
对象可能在较旧的浏览器中不可用,您必须包含它

不能使用正常的
for
循环来迭代对象。您必须使用:


对象的属性是
desc
value\u 1
,您不能使用数字键访问它们。

如果
响应是字符串,您需要先将其解码为对象,然后才能对其执行任何操作。现在,您只是在一个字符串中循环并打印每个字符

您可能还想使用

for (var key in responseObject) {
   var value = responseObject[key];
}
因为它将是一个对象,并且您的键不是数字

for (var thekey in response) {
    if(response.hasOwnProperty(thekey)) {
        alert(response[thekey]);
    }
}
for (var key in responseObject) {
   var value = responseObject[key];
}