[ { "key_name": "value_name1", "data": {...} }, { "key_name": "value_name2", "data": {...} } ] { "value_name1":{...}, "value_name2":{...} }
![]() | 1 zachlhb 2021-01-05 17:56:00 +08:00 via Android 第二种取值方便 |
![]() | 2 wutiantong 2021-01-05 17:56:05 +08:00 ![]() 区别是有序和无序 |
![]() | 3 ayase252 2021-01-05 17:57:51 +08:00 via iPhone 本质上数列和哈希表的区别嘛 看使用场景了 |
4 0ZXYDDu796nVCFxq 2021-01-05 17:59:41 +08:00 via Android 看你需要怎么读取数据,如果你需要访问 value_name1,结构 1 的时间复杂度是 O(n),结构 2 是 O(1) 如果都是遍历访问,两者差不多一样 |
5 securityCoding 2021-01-05 18:02:39 +08:00 1 , 2 这种太野路子了不好校验 |
![]() | 6 kerr92 2021-01-05 18:07:40 +08:00 via iPhone ![]() |
7 azcvcza 2021-01-05 18:08:17 +08:00 ![]() 第一个如果是空数组的时候,对数组使用的 map,filter 都还能用;第二个如果是空,后台给个 null 回来就有点恶心人 |
![]() | 8 Jackeriss 2021-01-05 18:09:55 +08:00 via iPhone 老生常谈,根据需求决定 |
![]() | 9 javapythongo 2021-01-05 18:10:33 +08:00 第二种是你预先知道有哪些 key 且不改变,不然的话就得循环对象,就不如第一种循环数组方便了 |
![]() | 10 kuro1 2021-01-05 18:15:07 +08:00 起码看见 5 次了 |
11 0ZXYDDu796nVCFxq 2021-01-05 18:16:22 +08:00 ![]() ``` {"key_names": ["value_name1", "value_name2"], "value_name1": {...}, "value_name2": {...} } ``` 皆大欢喜 |
12 taogen 2021-01-05 19:27:50 +08:00 via Android 第一种是数组 第二种对象 哪种方便用哪种咯,又不是不能跑。 |
13 fengpan567 2021-01-05 19:29:34 +08:00 又来了 |
![]() | 15 chaleaoch OP @javapythongo 这回复和 id 不匹配啊. 至少 python 还有一个 _dict.get() 可以用啊. go 也有 map 可以用. 为啥一定要循环啊. |
![]() | 17 javapythongo 2021-01-06 09:43:00 +08:00 @chaleaoch 我说了你要知道 key 的情况下就用第二种,比如配置相关的,不知道 key 你怎么直接 get |
![]() | 18 chaleaoch OP @javapythongo 我的理解 key 代表某种意义, 譬如 可以用来做 id 知道 key 的情况是只 知道所有的 key 都是 多少吗? 我不需要知道 for id, value in json_dct |