在REST的JSON中使用snake_case优于camelCase的优势

时间:2014-09-29 18:20:19

标签: javascript json rest

取自https://github.com/interagent/http-api-design#downcase-paths-and-attributes

  

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

     

service_class:"首先"

""属性名称是什么意思可以输入没有引号"?

2 个答案:

答案 0 :(得分:1)

如果你有:

{ foo-bar: 1 }

你会得到一个“SyntaxError:Unexpected token:”错误,因为“ - ”被误认为是一个减法运算符:

{ foo - bar : 1 }

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

{ "foo-bar": 1 }

如果使用下划线而不是破折号,则不存在歧义:

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

答案 1 :(得分:1)

这是一个有效的Javascript文字:

{ foo_bar: 'baz' }

这不是:

{ foo-bar: 'baz' }

后者必须是:

{ 'foo-bar': 'baz' }

所有它都在谈论;前一段提到"短划线路径名称" ,然后说你不应该在JSON中使用破折号。它不是蛇对抗camelCase,它的蛇与"破坏案例"。