假设我有一个类似于以下的JSON数组:
[
{
"title": "This is a title",
"year": 2013,
"images": {
"image": "http://........jpg",
},
"ratings": {
"thumbsup": 1053,
"thumbsdown": 256
}
},
{
"title": "This is a title",
"year": 2013,
"images": {
"image": "http://........jpg",
},
"ratings": {
"thumbsup": 1053,
"thumbsdown": 256
}
}
]
所需的输出是一个JSON数组,如下所示:
[
{
"title": "This is a title",
"images": {
"image": "http://........jpg",
},
"ratings": {
"thumbsup": 1053,
}
},
{
"title": "This is a title",
"images": {
"image": "http://........jpg",
},
"ratings": {
"thumbsup": 1053,
}
}
]
Ive一直在研究,有人建议最有效的方法是使用Jackson流式API进行解析。这是在内存有限的PaaS上使用的,所以我希望将内存使用率保持在最低限度。
用Jackson Streaming API解析JSON,同时构造一个新的JSON数组,或者简单地以某种方式删除元素,这是最好的方法吗?
我曾经用XML做过类似的事情。您可以让请求者告诉您想要返回哪些字段,并让它只发出这些字段。在我的案例中,我无法控制第三方axis xml视图,但一旦我有了这个视图,当我向它索要东西时,如果它已经存在,我可以只退还我感兴趣的部分。另外,如果你在获得JSON或xml后从JSON中编组或解组真正的java对象,你就不需要构建你不关心的对象图部分。