作为休息请求的一部分,我们有一个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(因为请求命中经常发生;我不想创建它)我怎样才能实现这一点;
在解析了这个巨大的有效载荷后,我想将此作为回复
示例代码段;欣赏这一点。
感谢。
答案 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");