2013-10-28 1 views
1

에서 동적 JSON 만들기 :내가이 구조 한 JSON을 얻고 기존의 JSON

{ 
data: { 
    ads: [ 
      {   
      name: "0", 
      id: "81" 
      }, 
      {   
      name: "0", 
      id: "82" 
      }   
     ] 
    } 
} 

내가이 같은 기존에서 또 하나의 JSON을 만들려고합니다.

{ 
json{ 
    81:[ 
      {   
       name: "a", 
       id: "81" 
      }, 
     ] 
    82:[ 
     {   
       name: "c", 
       id: "82" 
      } 
    ] 
    } 

} 

ID에 따라 생성 방법을 얻지 못하고 있습니다. 누구든지이 일에서 나를 도울 수 있습니까? 난 당신이 bracket notation을 사용할 수 있습니다

답변

3

는이를 달성하기 위해 만들려고하고 자바 스크립트 사용 :

var obj = { 
    data: { 
     ads: [ 
      {   
      name: "0", 
      id: "81" 
      }, 
      {   
      name: "0", 
      id: "82" 
      }   
     ] 
    } 
}; 

var newobj = { 
    json: {} 
}; 
for(var i in obj.data.ads) { 
    var a = obj.data.ads[i]; 
    if(!(a.id in newobj.json)) { 
     newobj.json[a.id] = []; 
    } 
    newobj.json[a.id].push({ name: a.name, id: a.id }); 
} 

를 여기하는 것은 입증하는 fiddle이다.

+0

"console.log"대신 "document.write"를 사용하면 jsfiddle에서이 예제를 더 잘 처리 할 수 ​​있다고 생각됩니다. – itspoma

+0

document.write는 JSFiddle에서 허용되지 않습니다. 귀하의 바이올린이 나를 위해 Chrome – CodingIntrigue

+0

np에로드되지 않습니다. 그 시도 : http://jsfiddle.net/kdsDg/2/ – itspoma