JSON命名约定(snake_case、camelCase或PascalCase)
JSON命名有标准吗?JSON命名约定(snake_case、camelCase或PascalCase),json,camelcasing,pascalcasing,snakecasing,Json,Camelcasing,Pascalcasing,Snakecasing,JSON命名有标准吗?我看到大多数示例都使用下划线分隔的小写字母,也就是snake\u case,但它也可以使用PascalCase或camelCase吗?似乎有足够多的变化,人们会特意允许从所有约定转换为其他约定: 值得注意的是,提到的Jackson JSON解析器更喜欢bean_命名没有单一的标准,但我看到了您提到的3种样式(“Pascal/Microsoft”、“Java”(camelCase)和“C”(下划线,snake_case)——以及至少一种以上的kebab case,比如更长的名
我看到大多数示例都使用下划线分隔的小写字母,也就是
snake\u case
,但它也可以使用PascalCase
或camelCase
吗?似乎有足够多的变化,人们会特意允许从所有约定转换为其他约定:
值得注意的是,提到的Jackson JSON解析器更喜欢
bean_命名没有单一的标准,但我看到了您提到的3种样式(“Pascal/Microsoft”、“Java”(camelCase
)和“C”(下划线,snake_case
)——以及至少一种以上的kebab case
,比如更长的名称
)
这主要取决于所讨论的服务的开发人员的背景;具有c/c++背景的人(或采用类似命名的语言,包括许多脚本语言、ruby等)通常选择下划线变体;和rest类似(Java与.NET)。例如,前面提到的Jackson库采用javabean命名约定(camelCase
)
更新:我对“标准”的定义是一个单一的约定。因此,虽然有人可能会说“是的,有很多标准”,但对我来说,有多个命名约定,没有一个是总体上的“标准”。其中一个可以被视为特定平台的标准,但考虑到JSON用于平台之间的互操作性,这可能有意义,也可能没有意义。在本文档中(谷歌构建JSON API的建议)
委员会建议:
属性名称必须是大小写的ASCII字符串
第一个字符必须是字母、下划线(\)或美元符号($)
例如:
{
"thisPropertyIsAnIdentifier": "identifier value"
}
我的团队遵循这一惯例。尤其是对我来说,如果我使用的是数据库,并且我的字段名用下划线分隔,我也会在结构键中使用它们
这是因为db字段有很多首字母缩略词/缩写,所以像appsnsinterfacertest这样的东西看起来有点凌乱,但是app\u sns\u interface\u rr\u test更好
在Javascript中,变量都是camelCase,类名(构造函数)都是PROPERRCASE,所以您会看到
var devTask = {
task_id: 120,
store_id: 2118,
task_name: 'generalLedger'
};
或
当然,在JSON中,键/字符串用双引号括起来,但是您只需使用JSON.stringify并传入JS对象,所以不必担心这一点
我对此有些挣扎,直到我在JSON和JS命名约定之间找到了一个令人满意的媒介
JSON语法对用作名称的字符串没有任何限制
JSON中没有标准的键命名,camelCase或snake_应该可以正常工作
tl;博士
这里有一条经验法则,我想大多数开发人员都会使用
技术栈
命名约定
理由/指南
Python»JSON»Python
蛇案
一致的
Python»JSON»PHP
蛇案
一致的
Python>JSONJava
蛇壳还是骆驼壳
依靠业务逻辑所在的位置。利用Java的外在风格。
Python»JSON»后端JavaScript
蛇壳还是骆驼壳
依靠业务逻辑所在的位置。
Python»JSON»前端JavaScript
蛇案
不管怎样,还是拧紧前端
Python»JSON»您不知道
蛇案
不管怎样,去死解析器吧
PHP»JSON»Python
蛇案
一致的
PHP»JSON»PHP
蛇案
一致的
PHP>JSONJava
蛇壳还是骆驼壳
依靠业务逻辑所在的位置。利用Java的外在风格。
PHP»JSON»后端JavaScript
蛇壳还是骆驼壳
依靠业务逻辑所在的位置。
PHP»JSON»前端JavaScript
蛇案
不管怎样,还是拧紧前端
PHP»JSON»您不知道
蛇案
不管怎样,去死解析器吧
Java>JSONPython
骆驼壳还是蛇壳
依靠业务逻辑所在的位置。利用Java的外在风格。
Java>JSONPHP
骆驼壳还是蛇壳
依靠业务逻辑所在的位置。利用Java的外在风格。
Java>JSONJava
骆驼壳
一致的
Java>JSONJavaScript
骆驼壳
一致的
Java»JSON»您不知道
骆驼壳
不管怎样,去死解析器吧
后端JavaScript»JSON»Python
骆驼壳还是蛇壳
依靠业务逻辑所在的位置。
前端JavaScript»JSON»Python
蛇案
不管怎样,还是拧紧前端
后端JavaScript»JSON»PHP
骆驼壳还是蛇壳
依靠业务逻辑所在的位置。
前端JavaScript»JSON»PHP
蛇案
不管怎样,还是拧紧前端
JavaScript»JSON»Java
骆驼壳
一致的
JavaScript»JSON»JavaScript
骆驼壳
起初的
JavaScript»JSON»您不知道
骆驼壳
不管怎样,去死解析器吧
我认为JSON没有正式的命名约定,但是您可以跟随一些行业领导者来了解它是如何工作的
谷歌是世界上最大的IT公司之一,它有一个JSON风格的指南:
利用这个优势,你可以
generalLedgerTask = new GeneralLedgerTask( devTask );
{
"bank-balance": -10
}