解析Json返回getJSON

时间:2011-10-26 22:04:53

标签: jquery ajax json

我正在尝试解析返回的json,但无法访问数据。

尝试从数据数组中访问url值。

返回如下所示:

{ "status_code": 200, "status_txt": "OK", "data": { "long_url": "http:\/\/stackoverflow.com\/questions\/327231\/best-way-to-display-data-via-json-using-jquery", "url": "http:\/\/bit.ly\/u0GIx8", "hash": "u0GIx8", "global_hash": "7d5klp", "new_hash": 0 } }

这不会起作用:

alert(json.data[url]);

我正在使用jQuery方法getJSON来发送查询。

2 个答案:

答案 0 :(得分:3)

您想要json.data.url,或者等同于json['data']['url']json.data['url']json['data'].url中的一个。

如果没有引号,data[url]会引用具有变量url值的键,而不是名为'url'的键。在括号中提供静态字符串或使用点符号获取与静态键关联的值。

答案 1 :(得分:1)

请注意,使用[]表示法索引JSON对象时,需要提供一个字符串,即带引号的字符序列。如果没有引号,它会认为您正在尝试使用名为url的变量的值,这很可能不存在。

所以你拥有的就是:

alert(json.data[undefined]);

这显然不起作用。

为了清楚起见,与访问属性的方式一致最好 - 使用object.property表示法或object['property']表示法。