2014-10-24 5 views
1

Я пытаюсь разобрать массив JSON, который я отправил с клиентской стороны на сервер на основе узлов.JSON Parsing in Javascript и node

объект JSON держит массив выглядит следующим образом

customData : { 
    "playlist": [ 
     "//www.youtube.com/embed/bxq6SofU_38?rel=0", 
     "//www.youtube.com/embed/Qyqchamz4EM?rel=0" 
    ] 
} 

Однако, когда я пытаюсь получить доступ к данным, используя customData.playlist [0], то она возвращает, что он не может разобрать «плейлиста» консоль сообщает, что не определено.

Я проверил свой JSON с помощью валидатора JSONLint, и он сказал, что я был прав JSON. Должно быть, я пропустил что-то довольно простые мысли?

+0

customData должна быть переменной. Затем вы можете вызвать 'customData.playlist':' var customData = yourJsonObject' – BeNdErR

+3

Не могли бы вы разместить свой реальный JSON, а не что-то похожее на него? Вывешенный вами фрагмент недействителен JSON, например, поскольку customData не входит в кавычки. –

ответ

1

если вы получаете данные стороне клиента вы должны разобрать, что, как это:

var parsed = JSON.parse(recievedData); 

, а затем у вас есть доступ к ним.

+0

Как отмечает Super Hornet, вам необходимо проанализировать его, как при получении данных из запроса, это обычно строка. При анализе обязательно заверните его в try/catch, поскольку клиент может отправить случайную недействительную строку JSON, которая вызывает исключение в JSON.parse. Я сделал этот модуль для безопасного анализа JSON https://www.npmjs.org/package/safejson – eshortie

0

Всякий раз, когда ответ приходит от сервера или клиента, результат будет в строке .. Coz вы знаете, что строки проще переносить в сетях ... Попробуйте использовать JSON.parse. консоль typeof customData .. Это должен быть объект .. Тогда только вы можете .. Получить значения ..