Разбор JSON не работает JavaScript
Я схожу с ума с какой-то проблемой, и я не знаю, как это исправить. Я пытаюсь разобрать простую строку json и обновить с нее содержимое моего сайта.
var json = [{"OID:":"1b383180186940dc0cc2a781fcf013ce", "NUMBER":"029348203984","SETTINGS":"Default","LATEST":"09-06-2015"}];
var obj=json[0];
console.log(obj['OID']);
console.log(obj['NUMBER']);
Это приводит к:
Undifined
029348203984
Таким образом, считывание числа идет хорошо. Но OID не идет хорошо. В другом куске моего кода это работает нормально
var obj = arr[i];
var optn = document.createElement("OPTION");
optn.text = obj['OID'];
document.getElementById("List").options.add(optn);
И это работает
3 ответа
У вас есть дополнительный :
символ в вашем json
переменная.
Try:
var json = [{"OID":"1b383180186940dc0cc2a781fcf013ce", "NUMBER":"029348203984","SETTINGS":"Default","LATEST":"09-06-2015"}];
var obj=json[0];
console.log(obj['OID']);
console.log(obj['NUMBER']);
Редактировать:
В следующий раз я рекомендую объявлять ваши объекты (и содержимое массивов, и все, что может содержать более 80 символов) в более удобочитаемом формате. Это поможет с обнаружением таких ошибок.
var json = [
{
"OID:":"1b383180186940dc0cc2a781fcf013ce",
"NUMBER":"029348203984","SETTINGS":"Default",
"LATEST":"09-06-2015"
}
];
Надеюсь, это поможет!
В оригинальном JSON, похоже, у вас есть дополнительный символ в ключе JSON:
"OID:":"1b383180186940dc0cc2a781fcf013ce"
Похоже, так и должно быть
"OID":"1b383180186940dc0cc2a781fcf013ce"
вместо.
В вашем объекте json внутри кавычек есть двоеточие.
var json = [{"OID:":"1b383180186940dc0cc2a781fcf013ce", "NUMBER":"029348203984","SETTINGS":"Default","LATEST":"09-06-2015"}];
должно быть...
var json = [{"OID":"1b383180186940dc0cc2a781fcf013ce", "NUMBER":"029348203984","SETTINGS":"Default","LATEST":"09-06-2015"}];
Или же вам нужно ссылаться obj['OID:']
если вы намеревались иметь эту дополнительную толстую кишку.