2016-04-28 3 views
1

У меня есть два объекта следующим образом:строит объект массива, нажав JSON

var id="one"; 
var arrobj = Array[2] 
    0: Object 
     name : "a" 
     desc : "desc1" 
    1: Object 
     name : "b" 
     desc : "desc2" 

Я пытаюсь построить объект в следующем формате:

var secondobj = [{ "one" : [{ name:"a",desc:"desc1"},{name:"b",desc :"desc2"}] }] 

Я попытался это:

var secondobj= new Array(); 
var samplejson = {}; 

Я только что дал

samplejson.name = id; 

После этого я немного смущен, как в том, как передавать значения, чтобы получить вышеуказанную структуру данных.

+2

'вар secondobj = новый Array(); var samplejson = {}; samplejson.one = arrobj; ' – Rayon

ответ

2

Это просто, как:

samplejson[id]=arrobj; 
1
var arrobj = [{ 
"name" : "a", 
"desc" : "desc1" 
},{ 
"name" : "b", 
"desc" : "desc2" 
}] 
var secondobj = []; 
secondobj.push({ 
one : arrobj 
}) 
console.log(secondobj); 

Проверьте это jsfiddle для демонстрации

1

Чтобы сделать вышеуказанную структуру, вы можете попробовать это:

var secondobj= new Array(); 
var samplejson = {}; 
samplejson.one = arrobj; 
secondobj.push(samplejson); 
console.log(secondobj) // this will give [{ "one" : [{ name:"a",desc:"desc1"},{name:"b",desc :"desc2"}] }] 
+0

samplejson.one = arrobj; становится жестко запрограммированным значением, так как значение «один» является динамическим – user1907849