JavaScript пытается прочитать объект, давая мне неопределенный на консоли

1

Я пытаюсь прочитать некоторые данные, что у меня есть.

Моя консоль показывает, что она выглядит так:

    {
    "calls":"0",
    "ids":[
        {
            "id":"5117-9e39-7afd-46b3-a066-14e4-3433-871f",
            "feat":{
                "dates":{
                    "exp":"2018-10-02"
                },
                "read":[
                    {
                        "name":"Joe"
                    }
                ]
            }
        }
    ]
}

Поэтому я пытаюсь console.log, поэтому он дает мне имя.

Я сделал это:

console.info(data.ids.read.name)

Это возвращает undefined.

Как я могу получить его, чтобы вернуть имя?

  • 5
    Привет, не могли бы вы поделиться следующим console.log(JSON.stringify(data))
  • 0
    пожалуйста, обновите свой формат. я думаю твой формат недействителен
Показать ещё 2 комментария
Теги:

2 ответа

1
Лучший ответ

На основе вашего комментария, показывающего все data, вам нужно будет использовать data.ids[0].feat.read[0].name чтобы получить имя.

Обратите внимание, что ids и read hold массивы, следовательно, необходимость в [0].

  • 0
    Это то, что я думал и пытался, но там говорится, что подвиг не определен
0

основанный на том, что вы описываете, я думаю, ваша проблема вызвана тем, что вы регистрируете объект и регистрируете конкретный член объекта.

Оператор console.log предоставит вам предварительный просмотр, который вы можете развернуть, а предварительный просмотр показывает объект так же, как и при его регистрации. Иногда это дает вам возможность расширить его, и это расширенное представление покажет объект, как сейчас.

Когда вы регистрируете примитивное значение или получаете нерасширяемый предварительный просмотр, вы всегда будете видеть объект так же, как и при его регистрации.

Предложение Nikhil зарегистрировать строку JSON из объекта является хорошим советом, так как вы будете регистрировать объект, как и при его регистрации (строка примитивна и не даст вам возможность расширения). Вы также можете использовать console.table.

Ниже вы можете увидеть поведение и разницу предварительного просмотра и расширенного (вы можете запустить его в консоли браузера):

var arr = [];
console.log('empty array?',arr);//previews to [] but expands to array with one object
console.log('undefined wont change',arr[0])//logs undefined because arr is still empty
arr.push({name:'ben'});//mutate array to add one item

Вы можете регистрировать то, что позже мутирует с помощью разрешающего обещания или обратного вызова.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню