如何使用Javascript解析具有内层的JSON?

如何使用Javascript解析具有内层的JSON?,javascript,json,parsing,Javascript,Json,Parsing,我可以用javascript评估简单的JSON var json = '{"amount":"50","id":"3"}'; var out = eval("{" + json + "}"); 现在,我正在使用带有REST和JSON的JPA,经过优化的查询结果将包括表名,这使得 JSON具有如此简单的内部JSON评估将无法工作 {"inventory":{"amount":"50","id":"3"}} 我在网上到处寻找解决方案,但找不到我的案例。 我应该只进行字符串操作并提取{“amoun

我可以用javascript评估简单的JSON

var json = '{"amount":"50","id":"3"}';
var out = eval("{" + json + "}");
现在,我正在使用带有REST和JSON的JPA,经过优化的查询结果将包括表名,这使得 JSON具有如此简单的内部JSON评估将无法工作

{"inventory":{"amount":"50","id":"3"}}
我在网上到处寻找解决方案,但找不到我的案例。 我应该只进行字符串操作并提取
{“amount”:“50”,“id”:“3”}
部分吗? 还是有其他方法?

是的,还有另一种(更好的)方法!用于解析JSON并取出对象:

var obj = JSON.parse(jsonString);
//then, for example...
var amount = obj.inventory.amount;
对于较旧的浏览器(即是的,还有另一种(更好的)方法!用于解析JSON并取出对象:

var obj = JSON.parse(jsonString);
//then, for example...
var amount = obj.inventory.amount;
对于较旧的浏览器(即即使这样也可以:

var json = '{"inventory":{"amount":"50","id":"3"}}';
var out = eval("{" + json + "}");

alert(out.inventory.amount);
但最好使用

即使这样也应该有效:

var json = '{"inventory":{"amount":"50","id":"3"}}';
var out = eval("{" + json + "}");

alert(out.inventory.amount);

但是最好使用Aniway,我认为执行简单求值的正确方法是让json字符串用括号括起来,而不是用大括号括起来

var out=eval(“+json+”)

参见:


Aniway,我认为执行简单求值的正确方法是将json字符串用括号括起来,而不是用花括号括起来

var out=eval(“+json+”)

参见:


谢谢!这是完美的解决方案:D汉克斯!这是完美的解决方案:D