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

2019-02-18 06:28发布

问题:

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.

回答1:

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.



标签: json key