自定义格式化字符串作为JSON值。是还是不是?

时间:2016-06-15 14:48:28

标签: json parsing

我想发送类似这样的JSON结构

{
    "buttons": {
        "track": {
            "type": 0,
            "visibility": 1,
            "visibility_text": "I am visible"
        },
        "call": {
            "type": 0,
            "visibility": 1,
            "visibility_text": "I am visible"
        }
        // 12 or so more children of button node
    }
}

正如您所看到的,这里有很多重复。我正在考虑发送一个令牌分隔的字符串,而不是重复类型,visibility和visibility_text节点。像这样的东西

{
    "buttons": {
        "track": "0|1|I am visible",
        "call": "0|1|I am visible"
    }
}

要传输的数据量大大减少,但是以可读性为代价,这不是一个高度关注的问题,因为这是一个私有API。

第二种方法的优点和缺点是什么?我们也欢迎任何其他建议。

1 个答案:

答案 0 :(得分:4)

  

第二种方法的优点和缺点是什么?

缺点

  • 不可读
  • 参数顺序至关重要
  • 需要手动解析
  • 无法在字符串文字中使用分隔符|

优点

  • 无。 2016年,有效载荷中的一些额外线路不会提高性能。

寻求可读性。 api现在是私有的,但将来它可能不是。或者它可能必须由你以外的其他人维护。

易于解析。必须实现自定义json解析引入了不必要的代码。必须考虑参数的顺序不是您想要做的事情。如果他们意外混淆,一切都会破裂。