自从过去几个小时以来,我一直在努力,但我无法理解这一点。
基本上,有两件事,一个是列表和一个json字符串:
queryList = [ ["user"],["place",["city"]]
所以这个queryList包含我希望从以下json获取其值的键。
现在json字符串还包含以下键:
json_string = {"user":"foo", "place": {"city":"foocity"}....}
由于“city”以嵌套格式存在,因此queryList的[city]是2D成员吗?
所以手动,我可以做类似的事情:
json_string.get("user");
json_string.getJSONObject("place").get("city");
但我不想硬编码...... 我期待的输出是:
["foo","foocity"]
我是java的新手,因此很难直接思考。
由于
答案 0 :(得分:1)
这里的解决方案,基于one of my libraries;此库基于Jackson。它为JSON Pointer提供了支持,这对于手头的任务是必要的:
https://gist.github.com/fge/5688657
query.json
的内容:
[
["user"],
["place", ["city"]]
]
data.json
的内容:
{
"user": "foo",
"place": {
"city": "foocity"
}
}
上述要点的输出:
["foo","foocity"]
正如所料。
将进行编辑以获得进一步的解释。