说我有一个类似于以下内容的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,
}
}
]
我一直在研究,建议最有效的方法是使用Jackson流API对其进行解析。这是用于内存有限的PaaS,因此我希望将内存使用率保持在最低限度。
是使用Jackson Streaming API解析JSON,同时构造一个新的JSON数组或以某种方式简单地删除元素的最佳方法吗?
最佳答案
我曾经用XML做过类似的事情。您可以让请求者告诉您要返回的字段,并让它仅发出那些字段。在我的情况下,我无法控制第三方轴xml View ,但是一旦有了 View ,当我向它询问是否已经存在该 View 时,我可以只退还我感兴趣的部分。如果在获取json或XML之后要从JSON编组或取消编组真正的Java对象,则无需构建不需要关注的对象图部分。