For JSON is it bad to use punctuation like “-” in

2019-02-18 06:11发布

Is it true that punctuation in property keys can cause developer usability issues in languages such as Ruby which uses symbolic hash key and in Javascript, these characters prevent developers from using dot-notation for property access.

标签: json key
1条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-02-18 07:03

The JSON Specification doesn't explicitly forbid using hyphens or any other characters in the name/value pairs of objects.

Whether it's a great idea is another, but most languages have no trouble dealing with special characters as the key, e.g. JavaScript:

var x = {"a-b": "hello"};
console.log(x['a-b']); // prints "hello"

Because a-b is not a valid property name x.a-b would not work as expected, but JavaScript has an alternative syntax for object dereferencing by using [] notation.

Another example, PHP:

$x = json_decode('{"a-b": "hello"}');
echo $x->{'a-b'};

Again, $x->a-b would not work, so PHP supports dereferencing using ->{} notation.

查看更多
登录 后发表回答