在Ajax响应中解析Json数组

时间:2016-04-06 23:07:22

标签: javascript json

我正在使用一个进行ajax调用并获得json响应的应用程序。答复如下所示:

    "msg":"successful.","data":{"fee":"100","balance":{"0":"12180"},"status":{"0":"0"}}

代码应用程序逻辑测试" status"的值。字段并在使用响应填充文本框之前检查它是否为零。

问题是"状态"字段未正确访问..(我相信)因此显示响应的条件永远不会成立。

代码是:

   if(data_array.data.status == 0) {/// do stuff

我认为这种访问状态字段的方法是错误的。

我试过这个

   if(data_array.data.status.0 == 0) {///

但是我收到了错误.... 我应该试试..

    data_array.data.status[0]==0...

我如何访问"状态"字段值?

由于

3 个答案:

答案 0 :(得分:1)

你解析了JSON字符串吗?如果没有,请尝试以下方法:

jsonStr = '{"msg":"successful.","data":{"fee":"100","balance":
{"0":"12180"},"status":{"0":"0"}}}';

jsonObj = JSON.parse(jsonStr);
status = jsonObj.data.status[0];
if(status == 0) { 
    // do some code 
}

答案 1 :(得分:0)

TRY:

   var obj = jQuery.parseJSON(e);
   var status = obj.status["0"];

答案 2 :(得分:0)

  

Uncaught SyntaxError:意外的令牌:

错误与不正确地访问字段无关(尽管您应该使用[0]["0"])。 使用大括号{}围绕您的JSON,它将修复解析错误。



var obj = {"msg": "successful.","data":{"fee": "100","balance":{"0": "12180"},"status":{"0":"0"}}};

<button onclick="alert(obj.data.status[0]);">Click me!</button>
&#13;
&#13;
&#13;