加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 用jackson删除JSON元素

发布时间:2020-12-14 05:50:30 所属栏目:Java 来源:网络整理
导读:我有一个特定的 JSON节点,对应于import org.codehaus.jackson.JsonNode,而不是 import org.codehaus.jackson.map.JsonNode. [ { "givenName": "Jim","formattedName": "jimJackson","familyName": null,"middleName": "none","honorificPrefix": "mr","honor
我有一个特定的 JSON节点,对应于import org.codehaus.jackson.JsonNode,而不是
import org.codehaus.jackson.map.JsonNode.
[
    {
        "givenName": "Jim","formattedName": "jimJackson","familyName": null,"middleName": "none","honorificPrefix": "mr","honorificSuffix": "none"
    },{
        "givenName": "john","formattedName": "johnLasher",{
        "givenName": "carlos","formattedName": "carlosAddner","honorifiPrefix": "mr",{
        "givenName": "lisa","formattedName": "lisaRay","honorificPrefix": "mrs",{
        "givenName": "bradshaw","formattedName": "bradshawLion",{
        "givenName": "phill","formattedName": "phillKane",{
        "givenName": "Gabriel","formattedName": "gabrielMoosa","honorificSuffix": "none"
    }
]

我想从上述数组的所有JSON节点中删除“familyName”和“middleName”.有没有办法实现这一点?

解决方法

我没有测试过这个,但我觉得这样做会做你想要的:
import org.codehaus.jackson.node.ObjectNode;
// ...
for (JsonNode personNode : rootNode) {
    if (personNode instanceof ObjectNode) {
        ObjectNode object = (ObjectNode) personNode;
        object.remove("familyName");
        object.remove("middleName");
    }
}

您也可以使用Jackon的原始解析API更有效地执行此操作,但代码将会更加复杂.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读