2015-09-10 5 views
0

Если у меня есть некоторые JSON-то вроде этого (из API):Как получить значение конкретного ключа объекта JSON в Джейд

"project": { 
    "name": "Project Name", 
    "modules": [ 
    { 
     "id": abcd, 
     "sizes": { 
     "size1": "123", 
     "size2": "456", 
     "size3": "789", 
     }, 
     "dimensions": { 
     "size1": { 
      "width": 234, 
      "height": 345 
     }, 
     "size2": { 
      "width": 456, 
      "height": 567 
     }, 
     "size3": { 
      "width": 678, 
      "height": 789 
     }, 
     } 
    ], 
} 

Я могу получить значения name и id, но я с трудом получите значение, например size3, с точностью до sizes.

Ближайшие У меня есть

for prj in projects 
    h2= prj.project.name 

    for mod in prj.project.modules 
    p= mod.id 

    for val in mod 
     p= val.size3 

, но это, конечно, дает мне оба вхождение size3.

Моя первая мысль была:

for prj in projects 
    h2= prj.project.name 

    for mod in prj.project.modules 
    p= mod.id 
    p= mod.sizes.size3 

но здесь sizes, кажется, "не определено".

ответ

0

Хотя это не совсем добиться того, что я решил, следующее решение подходит для моих требований:

for prj in projects 
    h2= prj.project.name 

    for mod in prj.project.modules 
    p= mod.id 

    if prj.project.modules[0] 
     p= prj.project.modules[0].sizes.size3 

    if prj.project.modules[1] 
     p= prj.project.modules[1].sizes.size3 

    ... 
0

Я считаю, что это должно помочь, если это не точно, это определенно подход.

for prj in projects 

h2= prj.project.name 

for mod in prj.project.modules 
    p= mod.id 

    for size in mod.sizes 
    p=size (or size.value or the like) 

    for size in mod.dimensions 
    p= size.width 
    p= size.height 
+0

Да, я тоже попробовал этот @Vontei, но получил 'Не удается прочитать свойство 'length' of undefined] ' – Sam

+0

Хорошо, не могу прочитать длину свойства, из которой один? – Vontei

+0

Извините, для 'для размера в mod.sizes' – Sam

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