如何用JSON表示集合?
JSON支持以下数据结构(等同于Java):标量,数组/列表和映射。 一个Set不支持出的现成的JSON。 我考虑了几种用JSON表示集合的方法: [1]-作为列表 然而,名单都有自己的排序,所以下面的两个列表,["a", "b"]并且["b", "a"]是不相等的名单,但他们应该是平等的套。 [2]-作为地图 使用地图的键集,并忽略值。 但是再次,使用标准比较,两者与地图不同: {"a": "foo", "b": "bar"}, {"a": null, "b": null} [3]-作为地图,具有特殊价值 取一个标量,说0或说,null并使其成为地图中每个键的值: {"a": 0, "b": 0} 这样,即使更改了键顺序,在标准比较工具下,对象也是相等的。 但是,此技术会使用不相关的数据污染JSON文档。 [4]-作为有序列表 回到第一个建议,但是这次作为有序列表。这种解决比较问题。 但是,我们还应该记住排序的复杂性,并且映射符号可以处理重复项,而排序列表则不能。例: {"a": 400, "a": 9}被处理为{"a": 9},但["g", "g"]总是这样["g", "g"]。 说了这么多,在我看来,列表符号更清晰了,但是映射符号对键重复更健壮,并且很难使特殊值保持一致(尽管这null似乎是一个不错的选择)。 你怎么看?您将如何用JSON表示集合? 聚苯乙烯 请注意,这个问题仅与JSON有关。我知道可以使用其他格式,例如yaml。仍然...