在单次获取中访问嵌套的json数据? [英] Access nested json data in single get?

查看:67
本文介绍了在单次获取中访问嵌套的json数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从json对象中获取一个值.我将如何获得第三级json对象:

json格式如下:

feedString = {"level1":[{"level2":{"level3":{"valueIWant":10}}}]}

代码是:

JSONObject  jsonFeed = new JSONObject(feedString);
jsonFeed.get("level1.level2.level3.valueIWant");

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

解决方案

您可以给 JSONiJ(Java中的JSON)它是 JSONPath 的Java版本,基本上将XPath语法(的一部分)映射到JSON对象上. /p>

另外,请参见此SO问题以获得其他一些想法;看起来 json-path 具有Java版本,并使用点符号. /p>

另一种选择是在JSONObjects和诸如MVEL或OGNL之类的东西之间建立EL桥,这将为您提供更熟悉的点表示法. (我以为有MVEL/JSON桥,但现在找不到.)

I am trying to trying to get a value out of a json object. How would I get a third level json object:

json format looks like:

feedString = {"level1":[{"level2":{"level3":{"valueIWant":10}}}]}

Code is:

JSONObject  jsonFeed = new JSONObject(feedString);
jsonFeed.get("level1.level2.level3.valueIWant");

Can I get nested levels in one get? What should my key look like?

解决方案

You could give JSONiJ (JSON in Java) a shot; it's a Java version of JSONPath and basically maps (a subset of) XPath syntax onto JSON objects.

Also, see this SO question for some other ideas; it looks like json-path has a Java version, and uses dot notation.

The other option is to build an EL bridge between JSONObjects and something like MVEL or OGNL, which would give you the more-familiar dot notation. (I thought there was an MVEL/JSON bridge, but can't find it now.)

这篇关于在单次获取中访问嵌套的json数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆