我有一个要求,我有一个巨大的响应json,其中包含作为base64数据传递到json的图像。 json中有许多这些base64字符串数据,每个都是巨大的,因为这些图像的大小也是5-10 Mb。因此,json尺寸变大。我想知道是否有任何方法可以将这个巨大的json转换为multipart-data,或者是否有任何方法可以打破这个巨大的响应json并在单个http请求中将它们分成多个部分。任何人都可以提供一些帮助。
答案 0 :(得分:2)
一些选项,但可能最容易使用Jackson,一个用于Java的JSON解析器。 Jackson可以将大型JSON对象拆分为多个较小的对象,这些对象可以发送到客户端。这是tutorial。
有关其他选项,请参阅此Stack Overflow response。
答案 1 :(得分:0)
我的问题有问题。你想要分割巨大的响应json,但仍然想要一个单一的请求。在HTTP协议级别,一个请求意味着一个响应。然后,您可以使用不同的容器格式以您希望的方式嵌套数据,它不会神奇地拆分响应,但只会增加一些开销。
您有低协议级别的选项。一种是压缩响应有效载荷。如果浏览器支持许多框架和servlet容器,并且所有主流浏览器都支持它,那么它们可以做到这一点。另一个是 chunk 响应有效载荷。在更高级别,它仍然是单个字节流,但它在网络上以不同的块发送。它可能更强大,具体取决于网络,主要是如果您使用多个代理或路由器。
另一个选项处于高级别:让客户端发出一堆请求,每个响应都包含大型json的一部分。