[
{
"key_name": "value_name1",
"data": {...}
},
{
"key_name": "value_name2",
"data": {...}
}
]
{
"value_name1":{...},
"value_name2":{...}
}
[
{
"key_name": "value_name1",
"data": {...}
},
{
"key_name": "value_name2",
"data": {...}
}
]
{
"value_name1":{...},
"value_name2":{...}
}
|
zachlhbJan 5, 2021 via Android
1
第二种取值方便
|
|
2
区别是有序和无序
|
|
ayase252Jan 5, 2021 via iPhone
3
本质上数列和哈希表的区别嘛
看使用场景了 |
|
0ZXYDDu796nVCFxqJan 5, 2021 via Android
4
看你需要怎么读取数据,如果你需要访问 value_name1,结构 1 的时间复杂度是 O(n),结构 2 是 O(1)
如果都是遍历访问,两者差不多一样 |
|
securityCodingJan 5, 2021
5
1 , 2 这种太野路子了不好校验
|
|
6
每过段时间就会出现的那种帖子……可以看看历史
https://www.v2ex.com/t/629474 https://www.v2ex.com/t/725418 https://www.v2ex.com/t/730623 |
|
7
第一个如果是空数组的时候,对数组使用的 map,filter 都还能用;第二个如果是空,后台给个 null 回来就有点恶心人
|
|
JackerissJan 5, 2021 via iPhone
8
老生常谈,根据需求决定
|
|
javapythongoJan 5, 2021
9
第二种是你预先知道有哪些 key 且不改变,不然的话就得循环对象,就不如第一种循环数组方便了
|
|
kuro1Jan 5, 2021
10
起码看见 5 次了
|
|
11
```
{"key_names": ["value_name1", "value_name2"], "value_name1": {...}, "value_name2": {...} } ``` 皆大欢喜 |
|
taogenJan 5, 2021 via Android
12
第一种是数组
第二种对象 哪种方便用哪种咯,又不是不能跑。 🐶 |
|
fengpan567Jan 5, 2021
13
又来了
|
|
15
@javapythongo 这回复和 id 不匹配啊. 至少 python 还有一个 _dict.get() 可以用啊. go 也有 map 可以用. 为啥一定要循环啊.
|
|
javapythongoJan 6, 2021
17
@chaleaoch 我说了你要知道 key 的情况下就用第二种,比如配置相关的,不知道 key 你怎么直接 get
|
|
18
@javapythongo 我的理解 key 代表某种意义, 譬如 可以用来做 id
知道 key 的情况是只 知道所有的 key 都是 多少吗? 我不需要知道 for id, value in json_dct |