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

2019-03-04 10:55:59 +08:00
 henryhu
使用某云的 api,看到返回的 json 结构中,key 是汉语,难道开发者学过易语音之类的中文编程?
7379 次点击
所在节点    问与答
50 条回复
boris1993
2019-03-04 11:02:24 +08:00
或者 ta 觉得切输入法很爽
tabris17
2019-03-04 11:03:32 +08:00
人家是考虑到 api 使用者的能力水平,另一方面可以省去写文档了
kernel
2019-03-04 11:05:42 +08:00
不发个 api 文档地址吗
si
2019-03-04 11:08:34 +08:00
json 用中文做 key 有什么,json 的 key 本来就是字符串。还有人用数字和符号做 key。
HypoChen
2019-03-04 11:10:10 +08:00
这种呢?

```
{
"is_succeed":"✅"
}
```
henryhu
2019-03-04 11:11:57 +08:00
api 截图在这里
0x11901
2019-03-04 11:26:52 +08:00
为什么不能用中文当 key ?我还用 emoji 做变量名称呢?思维逐渐江化。
Flasky
2019-03-04 11:37:09 +08:00
中文英文在代码里都是字符串,编程难道就只能用英文吗?会不会有点装逼的感觉?
aver4vex
2019-03-04 11:40:05 +08:00
起变量名真特么头大。
bestie
2019-03-04 11:45:44 +08:00
这个变量名确实不太好起,可能在特定的场景使用中文 key 更加合适
coderluan
2019-03-04 11:45:48 +08:00
明知同事英语水平不好,还拒绝使用中文注释,这种不叫专业,叫装逼。此事同理。
Sapp
2019-03-04 11:55:27 +08:00
@coderluan 这种情况是管理人员和架构的锅,一开始没带好节奏,我这里所有 api 接口都要求注释,注释必须中文,精确到每个 key 的详细解释以及 value 的类型和值的范围,之后直接自动读注释生成文档,每个根目录下都有对应的开发流程图和详细项目文档,包括涉及到的技术和原型,虽然初期花点时间,但是后期除非有 bug 否则根本不需要对接,是个人就看明白了,没按要求的代码都提不上去。
henryhu
2019-03-04 11:56:59 +08:00
有同学认为使用中文作为 key 没什么问题,这个问题可以讨论哈。具体到这个 api,有点怪异啊,code, msg, result 这些不使用中文也罢,问题是“法定代表人”下面又来一个 words 是啥意思?难道不应该是"法定代表人.文字"。words 其实是完全多余的。哪个同学设计的这个 api,请出来走两步,我保证......
reus
2019-03-04 12:10:16 +08:00
这个场景,中文 key 没问题

words 也没问题,给以后加字段留下空间。你还是太嫩。

总之没有问题。
LukeChien
2019-03-04 12:39:07 +08:00
可能因为 json 不支持注释,为了提高可读性
coderluan
2019-03-04 12:39:13 +08:00
@Sapp 你说的对,但是跑题了吧,这个贴只是说中文和英文应该看实际需求,你这个扯太远了。
SuperMild
2019-03-04 13:02:37 +08:00
某些情况下用中文其实很好, 特别清晰.

上面有人说换输入法麻烦, 但是像这个例子的具体情况, 你用了英文做 key, 搞不好还要想办法通过注释或者文档用中文来说明, 到时还是要用中文, 岂不是更麻烦.
belin520
2019-03-04 13:07:07 +08:00
场景:"识别成功"

key 是识别的 key (法定代表人:xxx )
这个场景我觉得对呀,不然还得 OCR 之后翻译成英文吗?
lynskylate
2019-03-04 13:15:04 +08:00
看场景。中文可以省去注释和想变量名,尤其在同事水平不高的情况下(▰˘◡˘▰)。但是大多情况下,message,status 这种大家都能理解,你用中文不是自找不痛快?我不用中文的原因最主要是不喜欢切输入法
gps949
2019-03-04 13:53:35 +08:00
首先,我认同为了同事、合作者等方便,可以用中文,或者应当注释用中文写。

但另一方面,我想说,已经 9102 年了,编程语言千万条,你学了 c 学了 c#学了 java 学了 js 学了 php 学了 python 学了 golang 学了……不考虑简单学一下英语吗?毕竟在输入法切换、国际通用化、字符集环境等问题上省心很多啊

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

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

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

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

© 2021 V2EX