как получить доступ к Json для пронумерованных элементов - PullRequest
0 голосов
/ 16 апреля 2019

Мой объект JSON имеет номера в качестве ключа для некоторых вложенных объектов. Невозможно получить доступ к этим элементам, используя. (Точка) нотация

пример кода { «1»: «Готово» }

при условии, что имя объекта - JSON Метод доступа JSON.1 не работает

Ошибка Неожиданный номер

Ответы [ 5 ]

0 голосов
/ 16 апреля 2019

Вы должны использовать [] для этого случая вместо оператора точки.

var tes = { "test1" : { "3" : "Done", "char" : "TODO"}}

for(var property in tes.test1) {
   //console.log(property)
   console.log(tes.test1[property])
}

var tes = { "test1" : { "3" : "Done", "char" : "TODO"}}

for(var property in tes.test1) {
   //console.log(property)
   console.log(tes.test1[property])
}
0 голосов
/ 16 апреля 2019

Попробуйте использовать добавление двойных кавычек при использовании числа.На каком языке вы пытаетесь запустить.

На Javascript ниже будет работать как с двойными кавычками, так и без кавычек.

<script>
    var data = '{"1":"Done"}';
    var json = JSON.parse(data);

    document.write (json[1]); // without double quotes
    document.write  (json["1"]);// with double quotes
</script>   
0 голосов
/ 16 апреля 2019

Использовать скобки:

const obj = { "1" : "Done" };
console.log(obj[1]);
0 голосов
/ 16 апреля 2019

Нельзя использовать точечную нотацию MDN для доступа к пронумерованным элементам в объекте JavaScript.

Свойство должно быть допустимым идентификатором JavaScript, т.е.последовательность буквенно-цифровых символов, включая знак подчеркивания ("_") и знак доллара ("$"), которые не могут начинаться с цифры.

Вы должны выбрать другую форму доступа, чаще всегов этой ситуации будет Скобка обозначения MDN

JSON[1]
0 голосов
/ 16 апреля 2019

Точечная запись не работает со всеми ключами, но вы всегда можете попробовать так: JSON["1"] или даже JSON[1] для простоты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...