用汉字做 json 的 key,是不是因为中文编程的影响?

2019-03-04 10:55:59 +08:00
 henryhu
使用某云的 api,看到返回的 json 结构中,key 是汉语,难道开发者学过易语音之类的中文编程?
7645 次点击
所在节点    问与答
50 条回复
irobbin
2019-03-04 14:15:58 +08:00
竟然有人说没问题。。万一有人不认识中文咋搞?
henryhu
2019-03-04 14:21:27 +08:00
是的,目前是中国人做开发,ok,以后要是让一个不懂中文的老外接手代码,估计要懵逼。
exceloo
2019-03-04 14:21:41 +08:00
@henryhu 你说多个 word 没意思,其实对方应该是想到了以后的扩展。以后想要多加个字段也很容易,而且也可以兼容老页面。
wengjin456123
2019-03-04 14:37:26 +08:00
这有啥的,key 用中文我觉得没问题,看场景
qq292382270
2019-03-04 15:26:01 +08:00
跟我对接的一个后端,返回的数据喜欢用英文单词来定义 key 或者变量名之类,但是又很不标准..
reus
2019-03-04 15:34:00 +08:00
明显是营业执照的文字识别接口,如果一个外国人连汉字都不懂,他做啥文字识别?这里用中文是正确的。这些汉字本来就是营业执照上面的文字,识别出来的也是中文字,你非要用英文是什么意思?
henryhu
2019-03-04 15:38:52 +08:00
就这个场景来说,仍然有商榷的地方。key 直接使用识别出来的文本,其实没有考虑到文本变动的情况。

比如,以后如果新的证件修改了,把“住所”改成“营业地址”,那就得新加一个“营业地址”字段,并且,api 用户要自己判断,“住所”和“营业地址”是同一个信息。api 如果有预见,无论新旧证件,都用 address 表示营业地址,无需修改 api,方便用户使用。

当然,也可以不修改 api,仍然使用中文 key,新的“营业地址”信息放到“住所”里,这个变化对于新用户来说有点蒙圈。
MineDog
2019-03-04 16:00:53 +08:00
会有编码方式不一致导致的乱码的风险
maichael
2019-03-04 16:02:52 +08:00
因为这里的 key 本来就是中文的,这个“中文”也是识别出来的呀。
henryhu
2019-03-04 16:10:43 +08:00
如何写成这样,是不是感觉自然一点,也不需要冗余的 words:

```
result: {
address: {
label: '住所',
content: '***********'
},
...
```
0987363
2019-03-04 16:20:07 +08:00
扯淡吧,服务器返回的 gbk 编码,你客户端是 utf8,怎么破,还有繁体的
reus
2019-03-04 17:08:56 +08:00
@henryhu 营业执照登记的事项是《公司法》规定的,不是随便改的,想改是要修法的,不会有谁无聊到改一个同义词。
Tokin
2019-03-04 17:26:16 +08:00
Tokin
2019-03-04 17:27:26 +08:00
henryhu
2019-03-04 18:01:40 +08:00
@Tokin 被墙了。如果这样写,用户使用一个值,不得不去遍历 result,不太好吧
icylogic
2019-03-04 18:08:11 +08:00
@0987363 为什么要去考虑写服务器会返回 gbk 编码的人……
reus
2019-03-04 18:12:42 +08:00
@Tokin 因为 label 是唯一的,所以把 label 作为键,就变成了最开始的样子。
johnnyNg
2019-03-04 19:44:53 +08:00
写成这样比较好吧,
[
{
"label": "法定代表人",

"value": "王某"
},

{
"label": "成立日期",

"value": "2019-02-11"
}
]
AlphaTr
2019-03-04 19:45:11 +08:00
说 JSON 用 GBK 的。。。你们用的真是 JSON 么
ffeii
2019-03-04 19:47:58 +08:00
反正都要遍历的,jsonArray 和 jsonObject 不都一样吗,用 jsonObject 还能省字节

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/540750

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX