我需要在java中计算JSON响应的大小(以字节为单位)。在java中有没有一种方法来计算这个字节/kb/mb。
另外,在java中,我们使用Jackson库来创建JsonNode。
我们尝试使用下面的方法计算大小。不确定这是正确的或准确的大小。
jsonResponse.toString(). getString().length
我们需要比较通过数据库获取的json输出的大小和java代码中形成的json输出的大小。所以在postgresql中我们有pg_column_size()来计算json响应的大小。但是在java中,不确定我们是否有任何直接的方法来获得json的大小?
1条答案
按热度按时间zqdjd7g91#
更简单的方法是将JSON呈现为String,然后获取长度:
此操作可能会消耗时间/内存,因为完整的JSON内容需要呈现为
String
。一个更好的方法是使用递归函数遍历JSON节点,将总大小相加:
此方法将遍历JSON内容,但内存消耗将最小。
注意:在呈现JSON时,某些实现可能会有所不同,例如,在JavaScript中,具有科学计数法的数字可以具有与Java中等效数字不同的长度。