java – 用jackson删除JSON元素

我有一个特定的 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更有效地执行此操作,但代码将会更加复杂.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...