在JSON for REST中,snake_case相对于camelCase的优势

advantage of snake_case over camelCase in JSON for REST

本文关键字:相对于 case camelCase snake for JSON REST      更新时间:2023-09-26

取自https://github.com/interagent/http-api-design#downcase-路径和属性

也可以使用小写属性,但使用下划线分隔符,以便属性名称可以在JavaScript中不带引号地键入,例如:

service_class:"第一个"

"属性名称可以不带引号地键入"是什么意思?

这是一个有效的Javascript文本:

{ foo_bar: 'baz' }

这不是:

{ foo-bar: 'baz' }

后者必须是:

{ 'foo-bar': 'baz' }

这就是它所说的全部;前一段提到"以短划线分隔的路径名",然后说您不应该在JSON中使用短划线。这不是蛇与骆驼的较量,而是蛇与"破折号"的较量。

如果您有:

{ foo-bar: 1 }

您将得到一个"SyntaxError:Unexpected token:"错误,因为"-"被误认为是减法运算符:

{ foo - bar : 1 }

然后你需要引号来表示这是一个属性名称:

{ "foo-bar": 1 }

如果你使用下划线而不是短划线,就不会有歧义:

{ "foo_bar": 1 }
{ foo_bar: 1 } // This also works