【发布时间】:2017-06-24 23:31:53
【问题描述】:
如何在类似 JSON 的对象中正确存储数据?从我所见,有两种方法可以将数据存储在 json 对象中。两者都有不同的方式来访问数据(Python 中的示例):
选项 1:
obj1 = [
{"id": 1, "payload": "a"},
{"id": 2, "payload": "b"},
{"id": 3, "payload": "c"},
]
在选项1中访问某个id的payload:
for element in obj1:
if element["id"] == 2:
print(element["payload"])
这意味着,必须扫描整个元素列表(可能)以找到正确的 id 并返回其值。
另一方面,还有选项 2:
obj2 = {
1: "a",
2: "b",
3: "c",
}
要访问第二个“id”的payload只需:
print(obj2[2])
我现在的问题是,为什么看到选项 1 更常见,即使它看起来更复杂搜索?我什么时候使用选项 1,什么时候使用选项 2?
【问题讨论】:
-
取决于用例...
-
好吧,你有一个对象数组而不是单个对象 - 所以由你来决定哪个对任务是正确的。在扩展性和易读性方面,我认为第一种选择更好。想要添加新属性?你不能用选项二来做到这一点。另外,对于选项 2,您总是可以只使用一个数组,它不一定是一个对象。
-
还有选项3,它是objects的对象
标签: javascript python json schema