如何遍历JSON

How to traverse JSON?

本文关键字:JSON 遍历 何遍历      更新时间:2023-09-26

我有这个脚本:

<script>
    function postForm() {
        $.post("rest/login", $("#myform").serialize()).done(function(data) {
            if(data.status === "OK"){
                window.location.replace("coursesform.jsp");
                alert(data);
            }
            else alert (data.status);
                //alert("Invalid credentials. Please use the same username and password you'd use for a SoCS machine.");
        });
    }
</script>

我改变了登录API从简单地输出以下内容返回的内容:

{"status":"OK"}

也输出用户id:

{"status":"{au:true, id:testtutor}"}

如何提取"true"answers"testtutor"?

我试过这个:

var obj = JSON.parse(status.data);

所以我可以做obj.au,但我收到的是:

但是,我在浏览器中收到这个:

VM701:1 Uncaught SyntaxError: Unexpected token u in JSON at position 0
{"status":"{au:true, id:testtutor}"}

删除"around{au:true,id:testtutor},使其成为

{"status":{au:true, id:"testtutor"}}

然后您将能够获得按状态的au和按状态的id

由于"{au:true, id:testtutor}"不是一个有效的JSON,所以您得到了一个错误,它需要是{"au":true, "id":"testtutor"},但您不能这样做,因为您已经有了"。

您的API没有返回有效的JSON,或者至少没有以您期望的方式返回。您的密钥应该是JSON中的字符串,因此您应该返回类似以下内容:

{
  "status": {
    "au": true,
    "id": "testtutor"
  }
}

CCD_ 4将能够对其进行解析。