Ответ 1
Использовать ECMAscripts "нотация скобок":
myTextOptions[ 'character names' ].kid;
Вы можете использовать эти обозначения в любом случае, читать и писать.
Подробнее читайте здесь:
У меня есть объект JavaScript, который выглядит примерно так:
var myTextOptions = {
'cartoon': {
comic: 'Calvin & Hobbes',
published: '1993'
},
'character names': {
kid: 'Calvin',
tiger: 'Hobbes'
}
}
Я могу легко получить доступ к свойствам cartoon
используя myTextOptions.cartoon.comic
или любой другой. Тем не менее, я не смог получить правильный синтаксис для доступа к kid
. Я попробовал следующее без удачи:
myTextOptions.character names.kid
myTextOptions."character names".kid
myTextOptions.character\ names.kid
myTextOptions.'character names'.kid
myTextOptions.["character names"].kid
myTextOptions.character%20names.kid
Использовать ECMAscripts "нотация скобок":
myTextOptions[ 'character names' ].kid;
Вы можете использовать эти обозначения в любом случае, читать и писать.
Подробнее читайте здесь:
Свойства объектов JavaScript также могут быть доступны или установлены с помощью скобочной записи (более подробно см. Методы доступа к свойствам). Объекты иногда называют ассоциативными массивами, поскольку каждое свойство связано со строковым значением, которое можно использовать для доступа к нему. Так, например, вы можете получить доступ к свойствам объекта myCar следующим образом:
myCar['make'] = 'Ford';
myCar['model'] = 'Mustang';
myCar['year'] = 1969;
Подробнее читайте в разделе Работа с объектами JS.
Так что в вашем случае это myTextOptions['character names'].kid;
Мы также можем сделать это путем -
myTextOptions[ 'character names' ]['kid']
;
Это полезно, когда у нас есть последовательные ключи, которые состоят из пробела.
В Google Chrome, если вы переходите к проверке элемента, а затем наводите указатель мыши на наборы данных файла json, каждый отдельный набор данных будет иметь всплывающую подсказку, показывающую его путь, и он также дает вам возможность скопировать путь в буфер обмена. Просто к вашему сведению.