2013-03-27 9 views
0

Предположим, у меня есть этот JSONКак получить внутри JSON из объекта JSON

{"widget": { 
    "debug": "on", 
    "window": { 
     "title": "Sample Konfabulator Widget", 
     "name": "main_window", 
     "width": 500, 
     "height": 500 
    }, 
    "image": { 
     "src": "Images/Sun.png", 
     "name": "sun1", 
     "hOffset": 250, 
     "vOffset": 250, 
     "alignment": "center" 
    }, 
    "text": { 
     "data": "Click Here", 
     "size": 36, 
     "style": "bold", 
     "name": "text1", 
     "hOffset": 250, 
     "vOffset": 100, 
     "alignment": "center", 
     "onMouseUp": "sun1.opacity = (sun1.opacity/100) * 90;" 
    } 
}}  

У меня есть список этих объектов и кладя в переменной, как этот

var myobjects = data

, который содержит список над объектами

сейчас, который работает отлично, но знаю, что у меня есть одна проблема. Вместо того, чтобы непосредственно получать список объектов, я теперь один родительский объект, который содержит те объекты, Лик этого

"id": "21" 
"myobject": 
{ 
{"widget": { 
    "debug": "on", 
    "window": { 
     "title": "Sample Konfabulator Widget", 
     "name": "main_window", 
     "width": 500, 
     "height": 500 
    }, 
    "image": { 
     "src": "Images/Sun.png", 
     "name": "sun1", 
     "hOffset": 250, 
     "vOffset": 250, 
     "alignment": "center" 
    }, 
    "text": { 
     "data": "Click Here", 
     "size": 36, 
     "style": "bold", 
     "name": "text1", 
     "hOffset": 250, 
     "vOffset": 100, 
     "alignment": "center", 
     "onMouseUp": "sun1.opacity = (sun1.opacity/100) * 90;" 
    } 
}} 
} 

вместо получения списка childobjects, я OW есть список родительских объектов в data

как можно получить список дочерних объектов из списка родительских объектов, как и раньше

что-то вроде

var childobjects = data.childobjects

Я хочу, потому что я ahve шаблоны кодируются которых только вок, если у меня есть прямой список объектов

ответ

0

Вы хотите сглаживаться массив объектов?

// suppose data is like this: 
var data = [ 
    { id: 1, myobject: {widgets:'',whatever:''}}, 
    { id: 5, myobject: {widgets:'',whatever:''}}, 
    { id: 23, myobject: {widgets:'',whatever:''}} 
] 

Тогда этот код:

var myobjects = []; 

for (key in data) { 
    myobjects.push(data[key].myobject); 
} 

Уйдет myobjects, равным:

[ 
    {widgets:'',whatever:''}, 
    {widgets:'',whatever:''}, 
    {widgets:'',whatever:''} 
] 
+0

жаль, что я не получил Это. вы можете показать небольшим примером, что это делает. но я могу быть уверен, что хочу что-то вроде этого – user194932147

+0

обновил ответ. –

+0

Можно ли добавить какое-либо значение, подобное 'id = 34' в массив виджетов, каждому элементу перед составлением списка – user194932147

-1

Я думаю, что это то, что вам нужно:

<script type="text/javascript"> 
var parents = [{"id": "21", 
       "myobject": 
       {"widget": { 
        "debug": "on", 
        "window": { 
          "title": "Sample Konfabulator Widget", 
           "name": "main_window", 
           "width": 500, 
           "height": 500 
          }, 
       "image": { 
       "src": "Images/Sun.png", 
       "name": "sun1", 
       "hOffset": 250, 
       "vOffset": 250, 
       "alignment": "center" 
       }, 
       "text": { 
         "data": "Click Here", 
         "size": 36, 
         "style": "bold", 
         "name": "text1", 
         "hOffset": 250, 
         "vOffset": 100, 
        "alignment": "center", 
        "onMouseUp": "sun1.opacity = (sun1.opacity/100) * 90;" 
       } 
      } 
     }}, 
       {"id": "22", 
       "myobject": 
       {"widget": { 
        "debug": "on", 
        "window": { 
          "title": "Sample Konfabulator Widget", 
           "name": "main_window", 
           "width": 500, 
           "height": 500 
          }, 
       "image": { 
       "src": "Images/Sun.png", 
       "name": "sun1", 
       "hOffset": 250, 
       "vOffset": 250, 
       "alignment": "center" 
       }, 
       "text": { 
         "data": "Click Here", 
         "size": 36, 
         "style": "bold", 
         "name": "text1", 
         "hOffset": 250, 
         "vOffset": 100, 
        "alignment": "center", 
        "onMouseUp": "sun1.opacity = (sun1.opacity/100) * 90;" 
       } 
      } 
     }} 
    ]; 
    for(x in parents){ 
     console.log(parents[x].myobject); 
    } 
    </script> 
Смежные вопросы