2016-03-25 3 views
5

Как получить доступ ко второму номеру «19», который находится в массиве Numbers в следующем JSON? Я пробовал каждый путь и не смог.доступ к значениям из следующего JSON

{ 
    "Numbers": [{ 
    "1": 6 
    }, { 
    "2": 19 
    }, { 
    "3": 34 
    }, { 
    "4": 38 
    }, { 
    "5": 70 
    }], 
    "MB": 5, 
    "MP": "05", 
    "DrawDate": "2016-03-22T00:00:00" 
} 
+1

'myVar.Numbers [1] [2 ']' –

+0

, на каком языке ?? – Jois

+0

Javascript - это язык – ConfusedDeer

ответ

3

Вы бы получить доступ к нему, как это:

console.log(jsonObj.Numbers[1][2]); 

Это предполагает, что вы храните, что JSON в переменную с именем jsonObj. Вы не можете использовать числа в качестве ключа свойства объекта, поэтому вы не можете сделать jsonObj.Numbers[1].2.

1

Вы можете получить доступ к нему с

obj.Numbers[1][2] 

где 1 является индекс объекта в массиве и 2 его key

4

Вы можете получить доступ с:

object.Numbers[1]['2'] 

То есть потому что Numbers object - это массив объектов с ключом, в которых вы хотите.

1

Для этого необходимо разобрать его на Javascript, например, так:

var myjson = JSON.parse('{"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"}'); 

После того, как он был разобран вы можете сделать

myjson.Numbers[1][2] 

Чтобы получить доступ к ключу (: 19) как хорошо вы бы сделали

myjson.Numbers[1] 
1

Назначить весь json для var.

var obj = JSON.parse({"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"}); 



obj.Numbers[1][2] 

Вы должны быть в состоянии получить доступ к нему

+0

Вам не нужно использовать JSON.parse, потому что это уже JSON, а не строка. –

1

Я думаю, что это очень легко:

var myVars={"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"} 

myVars.Numbers даст вам: [{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}] Этот элемент массива: первый элемент myVars.Numbers[0] является {"1":6}, второй myVars.Numbers[1] является {"2":19}. Финлей, myVars.Numbers[1][2] это 19. Это означает, что если вы хотите Acces на свой второй номер 19 вы должны написать: myVars.Numbers[1][2]

+1

Я думаю, что это легко, но, как сказал Район Дабр, единственное, о чем нужно помнить, это то, что формат JSON не поддерживает недопустимый символ: «Имя свойства объекта может быть любой допустимой строкой JavaScript или любым, что может быть преобразовано к строке, включая пустую строку. Однако любое имя свойства, которое не является допустимым идентификатором JavaScript (например, имя свойства, которое имеет пробел или дефис или которое начинается с числа), может быть доступно только с использованием квадрата Нотация также очень полезна, когда имена свойств должны быть динамически определены ... – ConfusedDeer

Смежные вопросы