JSON.parse使用嵌套对象解析JSON

Dan*_*430 9 javascript json

我正在尝试使用在post请求的响应中收到的嵌套对象来解析JSON字符串.运行后JSON.parse(responseText),结果采用以下格式:

[{
  "atco":"43000156407",
  "location":{
    "longitude":"-1.7876500000000000",
    "latitude":"52.4147200000000000","
    timestamp":"2013-03-19 11:30:00"
   },
  "name":"Solihull Station Interchange",
  "road":"STATION APPROACH",
  "direction":"NA",
  "locality":"Solihull",
  "town":"Solihull"}, ...
Run Code Online (Sandbox Code Playgroud)

我以为我可以使用以下作为示例来拉出值,但我得到的都是未定义的.

var atco = json[0].atco;
Run Code Online (Sandbox Code Playgroud)

我也试过json[0][0]但是从JSON([)返回一个单独的角色.这是否表明JSON没有正确解析,或者这是预期的行为,我只是错误地引用?

小智 12

这意味着您的JSON正在进行双重编码.确保只在服务器上对其进行一次编码.

作为证据,在您解析之后,再次解析它.

var parsed = JSON.parse(resposneText);

var parsed2 = JSON.parse(parsed);

alert(parsed2.atco);
Run Code Online (Sandbox Code Playgroud)

或者,或者您正在解析它,然后尝试从原始字符串中选择数据.这显然不起作用.