
[ { "name":"apple", "price":"10" }, { "name":"peach", "price":"10" }, { "name":"beach", "price":"10" } ]
{"apple":"10","peach":"10","beach":"10"}
可以用下面的方式返回数据吗,这样的话查 apple 的价格会很方便
1 securityCoding Nov 30, 2020 不行,用 1 |
2 KIMMG Nov 30, 2020 这个不是可不可以的问题,而是要不要的问题。 当然可以。但是对于消费者来说,他不明白你的 key 和 value 的意义。除非你的接口 uri 很明显 |
3 liyang5945 Nov 30, 2020 这种帖每隔一段时间就会冒出来,参考 /t/661896 |
4 qiayue PRO 简单点说,就是方式 2 前端 foreach 不方便 |
5 rodrick Nov 30, 2020 之前就有个帖子专门骂这种返回格式的,数据量不大沟好了 2 也不是不行,但是 key 最好就是字段名,value 就是值,维护方便看的也舒服 |
6 itechify PRO 月经贴 |
7 mirrorpen Nov 30, 2020 自己写给自己用开心就好,给别人用会被砍 |
8 tabris17 Nov 30, 2020 { "apple": {"name": "apple", "price" : 10}, "peach": {"name": "peach", "price" : 10}, "beach": {"name": "beach", "price" : 10} } |
9 xuanbg Nov 30, 2020 第一种前端好处理,也是通常大家使用的方式。一个集合序列化成 JSON 就是这种格式,后端也方便。 第二种可以在特殊情况下使用,譬如一次性数据量非常大,节约的字节数还是很可观的。 |
10 AV1 Nov 30, 2020 via Android 任何时候都应该选择第一种写法,除非用第二种写法能加工资。 |
11 zeropercenthappy Nov 30, 2020 @tabris17 我刀收不住了,你别跑 |
12 tabris17 Nov 30, 2020 @zeropercenthappy 身怀利器 杀心自起 阿弥陀佛 |
13 newbieRenew Nov 30, 2020 via iPhone 你用 2 的话,下次增加 1 个“数量”你咋整?增加 100 个呢 |
14 liyer Nov 30, 2020 { "10" : ["apple", "peach","pear"] } |
15 FakNoCNName Nov 30, 2020 不好,用第一种虽然看着冗余,但是写代码操作的时候友好(不单单是写起来简单,扩展也容易),所有的读写都可以抽象到一个或者一类方法。 并且 1. key 是固定的,逻辑判断容易 2. 读取 obj.key 就能得到值 ${value} 如果使用第二种,增删改查,每个 Key:Value 的 Key 都是不确定的,做任何操作基本要靠遍历,代码写起来复杂不说,通用性也差。 如果还是觉得不太理解,可以自己动手写一段简单的代码,动手实践下就懂了。 Talk is cheap, show me the code ! |
16 lisianthus Nov 30, 2020 2 给前端也好处理,多写一条 Object.entries 就是了,不过确实语义不好理解 |
17 dxkkb24 Nov 30, 2020 我还见过调用的接口返回的 json 的 key 是中文的 |
19 raaaaaar Nov 30, 2020 via Android 可读性,鬼知道 2 里那个数字是什么意思。 |