3

假设我有一个类似于以下内容的 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 数组或以某种方式简单地删除元素的最佳方法是什么?

4

1 回答 1

0

我曾经做过一次与 XML 类似的事情。您可以让请求者告诉您要返回哪些字段,并让它只发出这些字段。在我的情况下,我无法控制 3rd 方轴 xml 视图,但是一旦我有了视图,当我向它索取东西时,如果它已经在那里,我可以只返回我感兴趣的部分。作为奖励,如果您在获取 json 或 XML 后从 JSON 编组或解组真正的 java 对象,则不需要构建您不关心的对象图部分。

于 2013-12-10T17:28:33.970 回答