我有这样的 JSON 数据:
var data = '{"credit":{"@code":"NT2C8FFC","card":"NT2C8FFC","credit":"149.96","amount":"149.96","disabled":"0","expired":"2011-02-15 10:21:18","user":"xxxx","issued":"2010-02-15 10:21:18","orderid":[],"fromorder":[],"email":"xxxx","phone":[],"state":[],"address":[],"city":[],"zip":[],"country":[],"customerid":"xxx","order":"xxx","order_date":"2010-01-23 00:00:00","reason":"Product Not Working as Expected","source":"xxx","first":[],"last":[],"notes":[]}}'
它实际上以 JSON 形式返回给我。我只是为了举例而将其展示在这里。我可以使用 data["credit"]
来获取名为 credit
的元素,但这只能获取我的信息:
{"@code":"NT2C8FFC","card":"NT2C8FFC","credit":"149.96","amount":"149.96","disabled":"0","expired":"2011-02-15 10:21:18","user":"xxxx","issued":"2010-02-15 10:21:18","orderid":[],"fromorder":[],"email":"xxxx","phone":[],"state":[],"address":[],"city":[],"zip":[],"country":[],"customerid":"xxx","order":"xxx","order_date":"2010-01-23 00:00:00","reason":"Product Not Working as Expected","source":"xxx","first":[],"last":[],"notes":[]}
如何深入到一个镜头? data["credit"]["credit"]
不是正确的语法。其结果是未定义。我知道我已经很接近了,但不记得剩下的了。目标是从 JSON 数据中获取 149.96
。
最佳答案
现在您可以使用alert(data.credit.credit)
。
var data = '{"credit":{"@code":"NT2C8FFC","card":"NT2C8FFC","credit":"149.96","amount":"149.96","disabled":"0","expired":"2011-02-15 10:21:18","user":"xxxx","issued":"2010-02-15 10:21:18","orderid":[],"fromorder":[],"email":"xxxx","phone":[],"state":[],"address":[],"city":[],"zip":[],"country":[],"customerid":"xxx","order":"xxx","order_date":"2010-01-23 00:00:00","reason":"Product Not Working as Expected","source":"xxx","first":[],"last":[],"notes":[]}}';
eval("data=" + data);
alert(data.credit.credit);
您还可以使用 data = JSON.parse(data);
将字符串转换为 Json,但这存在浏览器兼容性问题。
这些是支持的浏览器
- 火狐 (Mozilla) 3.5
- Internet Explorer 8
- Chrome
- 歌剧 10
- 列出项目
- Safari 4
旧版本不支持。
关于javascript - 获取 json 数据中的嵌套映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15918725/