【问题标题】:Calculate Json Array Size In Kb or Mb in android?在android中以Kb或Mb计算Json数组大小?
【发布时间】:2016-12-05 08:56:12
【问题描述】:

我想以 KB/Mb 为单位计算 json 数组大小。我有一个条件,我需要在上传之前计算 json 数组大小。它不应超过 128 KB。

【问题讨论】:

  • json数组类型是String吗?还是 gson 的 JsonArray?还是 org.json 包中的 JSONArray?也许您可以发布相关代码,以便我们自己查看?
  • 是的,它的 JSONArray,不是 gson。

标签: android json parse-platform


【解决方案1】:

将您的 jsonArray 转换为 String 并使用 string.getBytes().length 。它将给出字符串用于存储值的字节数。

使用这些字节,您可以计算任何单位的大小。

String.getBytes().length 是需要表示的字节数 平台默认编码中的字符串。例如,如果 默认编码是 UTF-16(很少见),它正好是值的 2 倍 由 String.length() 返回。更常见的是,您的平台编码 将是像 UTF-8 这样的多字节编码。

【讨论】:

    【解决方案2】:

    JSON 基本上是一个String,编码决定了存储String 需要多少内存。请先read this

    现在有了这些知识,您可以简单地进行以下操作:

    JSON.toString().getBytes(YOUR_PREFERRED_ENCODING).length;
    

    【讨论】:

      【解决方案3】:
      you can use the File.length() method to get the file size in bytes.
      

      【讨论】:

      • 此解决方案需要生成文件,但这在稍后发送 Json 而不将其保存在内存中的错误的情况下可能很有用。您应该编辑您的答案以改进这一点;)
      猜你喜欢
      • 1970-01-01
      • 2014-06-12
      • 2014-08-28
      • 2021-02-10
      • 1970-01-01
      • 2011-10-08
      • 2011-07-26
      • 1970-01-01
      • 2014-09-11
      相关资源
      最近更新 更多