В своем коде, в следующем примере показано, как получить доступ к свойствам в данном конкретном объекте JSON:
alert(obj.COLUMNS[0]); // alerts the string "NAME".
alert(obj.DATA[0][0]); // alerts "YOUNG, MARIA "
Чтобы понять, почему это выход, это важно понимать, и научиться читать нотации, что составляет JSON:
{} = object
[] = array
Ваш JSON:
{
"COLUMNS": ["NAME"],
"DATA": [["YOUNG, MARIA "]]
}
Поскольку внешняя часть представлена фигурными фигурными скобками, мы знаем, что JSON представляет собой объект, а не массив. Объект имеет два свойства, оба из которых являются массивами, поскольку присвоенные им значения заключены в скобки.
Второе свойство, DATA, на самом деле представляет собой массив размером 1, который содержит другой массив размером 1, содержащий строку.
Наконец, в вашем коде вы пытаетесь получить доступ к NAME, которое является значением, а не свойством. JSON - последний момент, чтобы понять JSON, состоит в том, что все объекты представлены парами ключ/значение. Вы используете ключ для доступа к значению. obj.COLUMNS извлекает первый массив, а obj.DATA извлекает второй массив.
ИМЯ не является собственностью. Вместо этого это значение, присвоенное массиву.
Чтобы узнать, как получить доступ к JSON, ознакомьтесь со свойствами различных объектов. Кроме того, вы можете преобразовать существующие объекты обратно в JSON и отображать их в консоли, так что вы можете увидеть, как они структурированы в формате JSON:
var your_object = new Object();
your_object.name = "Bob";
your_object.skills = ["programmer","debugger","writer"];
console.info(JSON.stringify(your_object));
// this would convert the object to JSON. Going the other direction could help
// you further understand the concepts under the hood. Here is the output:
{ "name" : "Bob", "skills" : [ "programmer" , "debugger" , "writer" ] }