JSON中多个元素的首选样式?

时间:2017-11-15 12:36:46

标签: json

我试图用JSON对象表示用户的选择,我不确定确切的表示。

用户可以从项目列表中选择最多4个唯一元素。物品清单会随着时间的推移而增加,而4种元素的选择不太可能改变(但并非不可能)。

将选择项存储为具有四个属性或数组的对象是否更好?这是我的理由:

作为属性

"selection" : {
    "selection1" : "itemFoo",
    "selection2" : "itemBar",
    "selection3" : "itemBaz",
    "selection4" : null //<-- User does not need to select all 4 items
}

优点:

  • 不允许超过4个按设计选择的项目

缺点:

  • 使检查唯一性比在数组中更难
  • 使扩展比数组
  • 更难

As Array

"selection" : [
    "itemFoo", "itemBar", "itemBaz"
]

优点:

  • 开销减少
  • 更直观的多个项目表示

缺点:

  • 需要断言以确保数组不包含超过4个元素

1 个答案:

答案 0 :(得分:1)

采用第一种方法是一种矫枉过正。 如果您允许选择/取消选择项目,那么构建列表会更加困难。

断言项目数量的交易并不是那么大,所以我会采用第二种方法。

根据您使用的编程语言,您可以强制执行所需的大小。