Поскольку вы можете поставить пунктирную нотацию parent.child и вам не нужно указывать parent ["child"], который также является допустимым и полезным, я бы сказал, что оба способа технически приемлемы. Все парсеры должны работать в обоих направлениях. Если вашему парсеру не нужны кавычки на ключах, то, вероятно, лучше не ставить их (экономит место). Имеет смысл называть их строками, потому что это то, чем они являются, и, поскольку квадратные скобки дают вам возможность использовать значения для ключей, по сути, имеет смысл не делать этого.
В Json вы можете положить ...
>var keyName = "someKey";
>var obj = {[keyName]:"someValue"};
>obj
Object {someKey: "someValue"}
просто отлично без проблем, если вам нужно значение для ключа и ни один из указанных в кавычках не будет работать, так что если это не так, вы не можете, так что вы не будете так " ключи». Даже если правильно сказать, что они технически струны. Логика и использование утверждают иначе. Он также официально не выводит Object {"someKey": "someValue"} для объекта obj в нашем примере из консоли любого браузера.