使用杰克逊从json移除子属性

时间:2019-06-03 16:31:09

标签: jackson

我在InputStream(或String!)中有一些基本的Json,我想通过删除一个子元素/属性来进行修改。

所以我有json这样的

{
    "company" : "comp 1",
    ...
    "itdirector" : {
         "name" : "Bob",
         "email" : "bob@hotmail.com",
         "bonus" : "30000"
    }
    ... 
}

我有spring / olingo代码将json反序列化为一个对象,但是我想先删除一个子属性,因此在我的示例中,我们说一句奖金,使结果为

{
    "company" : "comp 1",
    ...
    "itdirector" : {
         "name" : "Bob",
         "email" : "bob@hotmail.com"
    }
    ... 
}

我们正在使用杰克逊,我从另一个问题开始沿这条路线走,但这似乎对子实体产生了很大的作用

ObjectMapper mapper = new ObjectMapper();
String stringJsonArray = mapper.writeValueAsString(list);
JSONArray csvDatabindedtoBean = new JSONArray(stringJsonArray);
        JSONArray finalArray = new JSONArray();
for (int val = 0; val < csvDatabindedtoBean.length(); val++) {
            JSONObject finalObject = csvDatabindedtoBean.getJSONObject(val);
                finalObject.remove("familyName");
                finalObject.remove("middleName");

            }
            finalArray.put(finalObject);
        }

我想知道是否有更好的方法?

0 个答案:

没有答案