首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从element.field中删除ArrayNode

从element.field中删除ArrayNode
EN

Stack Overflow用户
提问于 2016-06-02 14:25:55
回答 2查看 2.9K关注 0票数 2

我有这样的json ArrayNode,我需要从每个元素(例如,使用ObjectMapper、ArrayNode、JsonNode或ObjectNode的字段"xxx" )中删除。但没有Gson和@JsonIgnore等

代码语言:javascript
运行
复制
"arrayNode": [
               {
                 "xxx": {},
                 "yyy": {}
               },
               {
                 "xxx": {},
                 "yyy": {}
               }
             ]
EN

回答 2

Stack Overflow用户

发布于 2019-12-03 01:49:52

我不知道这个问题是否已经解决。但是下面的代码片段显示了如何从JSON节点中删除键为xxx的字段。JsonNode无法执行插入或删除,因此您必须将其转换为ObjectNode以进行进一步的操作。

代码片段

代码语言:javascript
运行
复制
 ObjectMapper mapper = new ObjectMapper();
 JsonNode rootNode = mapper.readTree(jsonStr);
 rootNode.get("arrayNode").forEach(e -> {
     if (e.has("xxx")) {
         ObjectNode objNode = (ObjectNode) e;
         objNode.remove("xxx");
     }
 });

 System.out.println(rootNode.toString());

控制台输出

{“arrayNode”:{“yyy”:{},{“yyy”:{}}

票数 1
EN

Stack Overflow用户

发布于 2016-06-02 14:36:20

您可以使用这个maven依赖项:http://mvnrepository.com/artifact/org.json/json/20160212

它很简单,很容易被低估和使用。例:

代码语言:javascript
运行
复制
JSONObject obj = "YOUR_JSON_STRING";
JSONArray result = obj.getJSONArray("YOUR_STRING_KEY");

for(JSONObject elem : result){
   String out = elem.getString("xxx");
}

更多你可以读到的:https://developer.android.com/reference/org/json/JSONArray.html祝你好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37594667

复制
相关文章

相似问题

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