java - 使用 jackson 删除 JSON 元素

我有一个特定的 JSON 节点对应于 import org.codehaus.jackson.JsonNode,而不是 导入 org.codehaus.jackson.map.JsonNode。

[
    {
        "givenName": "Jim",
        "formattedName": "jimJackson",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mr",
        "honorificSuffix": "none"
    },
    {
        "givenName": "john",
        "formattedName": "johnLasher",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mr",
        "honorificSuffix": "none"
    },
    {
        "givenName": "carlos",
        "formattedName": "carlosAddner",
        "familyName": null,
        "middleName": "none",
        "honorifiPrefix": "mr",
        "honorificSuffix": "none"
    },
    {
        "givenName": "lisa",
        "formattedName": "lisaRay",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mrs",
        "honorificSuffix": "none"
    },
    {
        "givenName": "bradshaw",
        "formattedName": "bradshawLion",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mr",
        "honorificSuffix": "none"
    },
    {
        "givenName": "phill",
        "formattedName": "phillKane",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mr",
        "honorificSuffix": "none"
    },
    {
        "givenName": "Gabriel",
        "formattedName": "gabrielMoosa",
        "familyName": null,
        "middleName": "none",
        "honorificPrefix": "mr",
        "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 更有效地执行此操作,但代码会更加困惑。

https://stackoverflow.com/questions/15603033/

相关文章:

javascript - typescript 对象序列化?

python - 将输出序列化为 JSON - ValueError : Circular refe

php - 为什么在我们有 json_encode 时使用 CJSON 编码

c# - 将带有数据和文件的 JSON 发布到 Web Api - jQuery/MVC

javascript - 我可以使用空字符串作为对象标识符吗?

java - jackson :反序列化为每个值都具有正确类型的 Map

c# - 无法使用 Json.net 序列化具有复杂键的字典

javascript - 使用 Asp.Net MVC 和 KnockoutJS 处理日期

json - 通过身份引用对象的标准方式(例如,循环引用)?

ruby-on-rails - Rails 4 为 API 操作跳过protect_from_for