【问题标题】:Which way of transfering JSON data is more optimized?哪种传输 JSON 数据的方式更优化?
【发布时间】:2018-09-04 14:20:49
【问题描述】:

我正在发送大量数据。什么更优化:用符号连接数据或将其作为 JSONArray 发送?

数据正在从 Android 客户端发送到 Apache PHP。

连接数据示例:

data1_data2_data3_data4

JSONArray 示例

{ "Data": [data1, data2, data3, data4] }

【问题讨论】:

  • 取决于“优化”的含义
  • 您将以字节为单位保存的内容比编写自己的自定义编码方案和解析器以及修复错误要浪费一千倍。例如,当您的数据包含您的符号时会发生什么?
  • 没有这样的优化。我唯一看到的是 String 的长度。您不能使用使用 concat 数据,因为它会在某些时候失败。虽然每个平台都很好地支持JSON。使用 Json。

标签: java php android json apache


【解决方案1】:

连接数据将被优化,但您要确保您的数据没有“_”或正确处理分隔符。

【讨论】:

    【解决方案2】:

    这完全取决于您的用例。从你的例子,这里有一些想法:

    就发送的字节数而言,串联稍好一些,因为 JSON 添加了一些元数据和符号。

    在易用性方面,JSON 显然胜出,因为有库和标准。如果您只有没有任何_ 的纯数据,则可以连接数据。但是如果你们中的一个数据有 _ 会发生什么?您将需要转义这些并在您的代码中跟踪您的自定义格式...(这只是冰山一角)。

    总的来说,我的建议是:始终使用标准数据序列化方案。如果需要考虑序列化数据的大小,请查看二进制标准(例如protobuf)。

    【讨论】:

      【解决方案3】:

      取决于优化的含义。

      实际上,即使您要使用自定义函数/类与某些内置函数(如 PHP 中的 json_decode)来解析它,时间差异也会相当小或无关紧要。

      如果你能坚持这个标准,那就去做吧。将其作为正确的 JSON 发送,而不是一些奇怪的连接字符串。

      优势胜过一切。

      【讨论】:

        【解决方案4】:

        这并不重要,如果您问的是优化传输大小(以字节为单位),差异很小。

        但是,您提供的连接数据示例将需要对接收方部分进行更多数据处理,因为您的脚本必须剪切发送的数据并将符号解析为可用对象。

        所以最好坚持使用通常的 JSON 对象,因为我认为您不会通过这种方式获得任何优化。

        【讨论】:

          猜你喜欢
          • 2023-03-10
          • 2012-11-05
          • 1970-01-01
          • 2021-06-19
          • 1970-01-01
          • 1970-01-01
          • 2013-09-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多