Я пытаюсь использовать JSON.parse(...)
против строки JSON, но по какой-то причине, когда я пытаюсь получить (.) Доступ к объекту, я получаю "неопределенный" на узлах, которые, как я знаю, существуют в JSON. Разве JSON.parse(string)
не должен возвращать объект?
Вот мой код
var notificationText = JSON.parse(event.data.text());
console.log('notificationText Object Stringified: ' + JSON.stringify(notificationText));
console.log('NotificationText Object Not Stringified: ' + notificationText);
console.log('NotificationText.Notification Object: ' + notificationText.notification);
Вот вывод на консоль для первого "console.log(...)
":
notificationText Object Stringified: "{\"notification\":{\"body\":\"this is coolfgsdfsfdsfdsdfsdfsfds\",\"title\":\"Whoa\",\"data\":{\"url\":\"http://www.yahoo.com\"},\"requireInteraction\":true}}"
Вот консольный вывод для второго «console.log(...)
»:
NotificationText Object Not Stringified: {"notification":{"body":"this is coolfgsdfsfdsfdsdfsdfsfds","title":"Whoa","data":{"url":"http://www.yahoo.com"},"requireInteraction":true}}
Вот консольный вывод для третьего «console.log(...)
»:
NotificationText.Notification Object: undefined
Вот мой JSON в более удобный для чтения формат:
{
"notification": {
"body": "this is coolfgsdfsfdsfdsdfsdfsfds",
"title": "Whoa",
"data": {
"url": "http://www.yahoo.com"
},
"requireInteraction": true
}
}
Мой вопрос: почему я получаю "неопределенное", когда пытаюсь поставить синтаксис точки на объекте "messagesText"?