首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JsonPath (请放心):从JsonPath中获取一个JsonPath

JsonPath (请放心):从JsonPath中获取一个JsonPath
EN

Stack Overflow用户
提问于 2020-09-15 11:06:12
回答 1查看 140关注 0票数 0

是否有可能从当前的对象中获取一个新的JsonPath对象?我发现的唯一一件事是setRootPath(),但这并不是我所要寻找的,因为一旦设置了根,就不能“返回”。

我的用例:

我有一个JSON对象数组。我想遍历JSON数组,并将每个对象传递给某个函数。问题是,我不想反序列化对象,也不想传递LinkedHashMap。相反,我想传递一个单独表示对象的JsonPath。

附加信息:

让我们假设我们有以下JSON:

代码语言:javascript
复制
[
{"name": "David"},{"name": "Dana"},{"name": "Ron"}
]

我们刚刚用JsonPath阅读了它:

代码语言:javascript
复制
JsonPath = JsonPath.from(json);

我想对这些对象进行迭代,对于每个对象都有一个JsonPath来表示它。做这件事的唯一方法(据我所知)是使用setRootPath(),但是一旦你这样做了,你就不能回去了。

EN

回答 1

Stack Overflow用户

发布于 2022-09-22 18:44:05

代码语言:javascript
复制
//A bit confusing about what was asked here. But try this, hope it will help 
//If you have a json object already no need to initiate the jsonObject
JSONObject jsonObject = new JSONObject();
String jsonString = jsonObject.toString();

String path = "$.rootObject.childObject"

//Only returning the child object
JSONObject j = JsonPath.read(jsonString, path);

//Returning the array of string type from the child object. E.g
//{"root": "child":[x, y, z]}

List<String> values = sonPath.read(jsonString, path);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63900531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档