Получить неопределенный при чтении данных из объекта JSON
Ниже приведен мой код:
$(function() {
var arrayCollection = ['555testing', {
"id" : "1",
"parent" : "555testing",
"text" : "555 Inc.",
"org" : "One",
}, {
"id" : "2",
"parent" : "555testing",
"text" : "Test Company",
"org" : "Two",
}, {
"id" : "3",
"parent" : "555 Inc.",
"text" : "Test2 Company",
"org" : "Three",
}, {
"id" : "4",
"parent" : "555 Inc.",
"text" : "Test3 Company",
"org" : "Four",
}, {
"id" : "5",
"parent" : "555 Inc.",
"text" : "Test4 Company",
"org" : "Five",
}];
//alert(arrayCollection);
$('#jstrees').jstree({
'core' : {
'data' : arrayCollection
}
}).on("select_node.jstree", function(e, data) {
var node_text2 = (data.node.org);
alert(node_text2);
});
});
Я хочу получить все значения из объекта json. Но когда попытался получить значение для org
, я получил undefined
,
Для всех других атрибутов работает так, как я получил значение в этом коде.
var node_text2 = (data.node.parent);
alert(data.node["parent"]);
Но я не понимаю org
,
Дайте мне знать, как я могу получить это значение.
3 ответа
У вас есть опечатка в вашем JSON между "text": "Test" и "orgId":"2" должна быть только одна запятая
{ "id" : "155", "parent" : "MyData", "text" : "Test", , "orgId":"2"}
// ^
должно быть
{ "id" : "155", "parent" : "MyData", "text" : "Test", "orgId":"2"}
// ^
Проверьте JSON у вас есть еще одна запятая, прежде чем "orgId":"2"
В следующий раз проверьте свой JSON, есть много очень полезных онлайн-инструментов, таких как:
https://jsonformatter.curiousconcept.com/
Также есть некоторые непечатаемые специальные символы Юникода, проверьте код на стороне сервера, чтобы предотвратить вывод этих символов:
Ты ошибаешься JSON
[{"parent":"#","id":"1","text":"One","orgId":66},{"parent":"Data2","id":"2","text":"Two","orgId":64}]
Лучше сначала проверить службу или местоположение, откуда вы получаете ответ. Также попробуйте использовать любой онлайн-инструмент, такой как json formatter или онлайн-редактор json и т. Д.