如何使用java查找响应负载(JSON)大小

如何使用java查找响应负载(JSON)大小,java,rest,Java,Rest,我想使用Java确定RESTAPI的JSON响应负载大小。为了进一步描述,我必须设计一个批量API,从应用程序、分页和安全性中导出大数据,但我希望限制单个页面的大小,以确保服务连续性和性能输出 在此感谢您的帮助,谢谢 服务器应在响应中设置内容长度标题(请参阅)。这是有效负载的大小(以字节为单位) 因此,客户端可以像这样读取内容长度: HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();

我想使用Java确定RESTAPI的JSON响应负载大小。为了进一步描述,我必须设计一个批量API,从应用程序、分页和安全性中导出大数据,但我希望限制单个页面的大小,以确保服务连续性和性能输出


在此感谢您的帮助,谢谢

服务器应在响应中设置
内容长度
标题(请参阅)。这是有效负载的大小(以字节为单位)

因此,客户端可以像这样读取内容长度:

HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
connection.connect();
int length = connection.getContentLength();

您可能需要将其实际编码为JSON,以便能够进行计算。数据模型可能无法准确指示通过JSON公开的属性、它们的名称或编码方式

还有一些其他的问题,所以问了差不多同样的问题,看 和

你没有说你是如何使用JSON的,但很可能它使用的是Jackson,也许还有Spring,所以像这样的东西应该让你大致了解一下

ObjectMapper om = new ObjectMapper();
Object example = ... // the object you want to find the JSON size for

String jsonString = om.writeValueAsString(example); // get the JSON string
int characterCount = json.length(); // count the number of characters

byte[] bytes = om.writeValueAsBytes(example); // get the JSON as UTF-8 bytes
int byteCount = bytes.length; // count the number of bytes

characterCount
byteCount
之间的差异可能并不明显,特别是如果您不习惯处理Unicode代码点。HTTP
Content Length
表示八位字节(字节)的数量,因此
字节数
最为准确,请参阅。

“非常感谢您在这方面的帮助,提前感谢!”可以删除。只关注问题陈述。请把你的问题尽量简明扼要。