如何修改json而不在java中创建任何pojo

时间:2018-02-05 14:09:30

标签: java json

作为休息请求的一部分,我们有一个json响应; 每个请求命中,大小为0.90MB。 响应结构如下:

{
"catg" : "catlist",
"ticketList": 
    {
    "dynamicID1" : {  => //I have to change this id; with what is there in the db
        reto: "00121",
        tickets: 677, => //I have to change this id; with what is there in the db
        slots: {
            dynamicslot1: {
            prop1 : "change this data",
            prop2: "change this data"
            }
         }
        },
    "dynamicId2" : {
        reto: "00121",
        tickets: 677,
        slots: {
            dynamicslot1: {
            prop1 : "change this data",
            prop2: "change this data"
            }
         }
        },

        --------------
        -------------- // like this 1000's of records are there in the response
        --------------
        --------------
        --------------
    }
}

你可以建议我,不要创造任何pojo(因为请求命中经常发生;我不想创建它)我怎样才能实现这一点;

在解析了这个巨大的有效载荷后,我想将此作为回复

示例代码段;欣赏这一点。

感谢。

2 个答案:

答案 0 :(得分:4)

如果你不想创建任何pojo,那么使用jackson ObjectMapper并将响应反序列化为Map.class。 您将获得可能访问的一堆Map / List / {Integer,String等}结构。 访问主要成员将是  “catg” - > response.get( “CATG”)

如果您使用intellij idea - 设置breakpoint,请点击OPTION-F8(在我的Mac上)

随时随地发现你的结构。

答案 1 :(得分:0)

尝试使用json库,例如https://github.com/stleary/JSON-java。有了它,您可以轻松地通过键值获取您请求的数据字段并添加/更改/删除

JSONObject obj = new JSONObject(inputString);
String n = obj.getString("name");