在单个get中访问嵌套的json数据?

Lum*_*mpy 9 java json

我试图从json对象中获取值.我如何获得第三级json对象:

json格式如下:

feedString = {"level1":[{"level2":{"level3":{"valueIWant":10}}}]}
Run Code Online (Sandbox Code Playgroud)

代码是:

JSONObject  jsonFeed = new JSONObject(feedString);
jsonFeed.get("level1.level2.level3.valueIWant");
Run Code Online (Sandbox Code Playgroud)

我可以一次获得嵌套级别吗?我的钥匙应该是什么样的?

Dav*_*ton 5

你可以给JSONiJ(Java中的JSON)一个镜头; 它是JSONPath的Java版本,基本上将XPath语法的一部分映射到JSON对象上.

另外,对于其他一些想法,请参阅此SO问题 ; 它看起来像json-path有一个Java版本,并使用点表示法.

另一个选择是在JSONObjects和类似MVEL或OGNL之类的东西之间构建一个EL桥,这将为您提供更熟悉的点符号.(我以为有一个MVEL/JSON桥,但现在找不到它.)