我正在尝试解析返回的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来发送查询。
答案 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']
表示法。