【问题标题】:is JSON a good solution for data transfer between client and server?JSON 是客户端和服务器之间数据传输的良好解决方案吗?
【发布时间】:2015-01-28 17:28:14
【问题描述】:

我试图理解为什么 JSON 被广泛用于客户端和服务器之间的数据传输。我知道它提供了易于理解的简单设计。然而,恰恰相反;

  • JSON 字符串包含重复的数据,例如,在表的情况下,列名(键)在每个对象中重复。将列作为第一个对象发送是不明智的,对象的其余部分应该是表中的数据(没有列/键信息)。
  • 一旦我们有了 JSON 对象,与索引相比,基于键的搜索(在时间上)代价高昂。想象一个有 20-30 列的表,与直接使用索引相比,为每个对象搜索每个键会花费更多时间。

可能还有很多缺点和优点,如果你知道,请在此处添加。

【问题讨论】:

    标签: json client server


    【解决方案1】:

    我认为如果您想要数据传输,那么您需要基于表格的格式。 JSON 格式不是标准数据库或 Excel 等基于表格的格式。如果出现问题,这可能会使数据分析变得复杂,因为通常有人会为此使用 excel(排序、过滤、公式)。此外,构建测试文件会更加困难,因为您不能简单地使用 excel 导出为 JSON。

    但是,如果您想使用 JSON 进行数据传输,您基本上可以构建一个 JSON 版本的 CSV 文件。你只会使用数组。

    Columns: ["First_Name", "Last_Name"]
    Rows: [
      ["Joe", "Master"],
      ["Alice", "Gooberg"]
      .... etc
    ]
    

    不过对我来说似乎很乱。

    如果你想使用对象,那么你必须为每一位数据嵌入列名,在我看来,这是一种错误的方法。

    【讨论】: