Java - 在没有 POJO 的情况下递归地从 JSON 字符串中删除字段

Jer*_*ker 7 java json jackson gson

如何从 JSON 字符串中递归删除某些具有指定名称的字段?

例如,我想从以下 JSON 中删除字段“secondName”:

输入:

{
    "name" : "abc",
    "secondName": "qwe",
    "add" : "abcd",
    "moreDetails" : {
        "secondName": "qwe",
        "age" : "099"
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

{
    "name" : "abc",
    "add" : "abcd",
    "moreDetails" : {
        "age" : "099"
    }
}
Run Code Online (Sandbox Code Playgroud)

我必须从具有不同结构/模式的许多不同 JSON 中删除一些字段,因此我将无法对 POJO 进行反序列化/序列化。

Eam*_*ion 1

您可以尝试将 JSON 存储为JSONObject,使用 迭代键jsonObject.names()并使用 删除条目jsonObject.remove(key)