2009-07-08 9 views
9

두 개의 JSON 객체가 있습니다. 하나는 json, dumps()를 사용하여 변환 된 python 배열이고 다른 하나는 데이터베이스의 레코드를 포함하며 json serializer를 사용하여 직렬화됩니다. 단일 JSON 객체로 결합하려고합니다.하나의 JSON 객체 두 개 결합하기

obj1 = ["a1", "a2", "a3"] 

obj2 = [ 
    { 
     "pk": "e1", 
     "model": "AB.abc", 
     "fields": { 
      "e_desc": "abcd" 
     } 
    }, 
    { 
     "pk": "e1", 
     "model": "AB.abc", 
     "fields": { 
      "e_desc": "hij" 
     } 
    }, 

] 

내가 다음과 같이 하나의 객체로 병합하려면 : : 예를 들어

finalObj = { 
       obj1:["a1", "a2", "a3"], 
       obj2: [ 
         { 
          "pk": "e1", 
          "model": "AB.abc", 
          "fields": { 
          "e_desc": "abcd" 
           } 
         }, 
         { 
           "pk": "e1", 
           "model": "AB.abc", 
           "fields": { 
           "e_desc": "hij" 
           } 
          }, 

        ] 
      } 

내가 어떻게 할 수 있습니까?

+0

typeof (finalObj.obj2)는 ​​클라이언트의 문자열입니다. JSON 객체를 다시 얻으려면 JSON.parse (finalObj) –

답변

15

일단 JSON 형식으로되어 있으면 할 수 없습니다. JSON은 텍스트 일뿐입니다. 내가 뭔가를 누락하는 경우

data = { 'obj1' : obj1, 'obj2' : obj2 } 
json.dumps(data) 
5

확실하지,하지만 난 (파이썬 2.5에서 테스트) 출력으로 지정이 작동 생각 : 먼저 파이썬에서 그들을 결합해야

import simplejson 

finalObj = { 'obj1': obj1, 'obj2': obj2 } 
simplejson.dumps(finalObj) 
0

당신 두 가지 기술이 있습니다. 목록 버전은 주문의 중요성으로 인해 어려움을 겪습니다. 그러나 JSON은 약간 더 단순합니다. 사전 버전에는 중첩 된 데이터가있어 좀 더 복잡해 보입니다.

data = { 'obj1' : obj1, 'obj2' : obj2 } 
json.dumps(data,indent=2) 


data = [ obj1, obj2 ] 
json.dumps(data,indent=2)