2013-01-23 4 views
1

에서 두 개의 서로 다른 JSON 개체는 어떻게 그것을 extjs라는 4에서이 같이해야합니까의 내 첫 JSON 객체가에 extjs

"jvtdata":{ 
    "tranid":"100001", 
    "trandate":"Sun Jan 20 2013 00:00:00 GMT+0800 (Taipei Standard Time)", 
    "trantype":"f" 
    } 

이며 내 두 번째 데이터

"detail" : [ 
    { 
     "id": "1", 
     "obj": "data1" 
    }, 
    { 
     "id": "2", 
     "obj": "data2" 
    }, 
    { 
     "id": "3", 
     "obj": "data3" 
    } 

] 

입니다 가정 해 봅시다 병합?

"jvtdata":{ 
    "tranid":"100001", 
    "trandate":"Sun Jan 20 2013 00:00:00 GMT+0800 (Taipei Standard Time)", 
    "trantype":"f", 
    "detail" : [ 
    { 
     "id": "1", 
     "obj": "data1" 
    }, 
    { 
     "id": "2", 
     "obj": "data2" 
    }, 
    { 
     "id": "3", 
     "obj": "data3" 
    } 

] 
    } 
+0

안녕, 당신에게 도움이 아래에 어떤 대답을? – dbrin

답변

1

http://jsfiddle.net/FXT9k/ 여기에 다른 대답에 귀하의 코멘트를 보면 (나는 생각?) 당신을 위해 무엇을 찾고 있습니다 :

var details = Ext.Array.pluck(store_jvdtl.data.items, 'data'); 
var jvtData = Ext.Array.pluck(store_jvhdr.data.items, 'data')[0]; 
jvtData["details"] = details; 
jvtData = Ext.encode(jvtData); 
+0

'Ext.pluck'은 ExtJS 4.0.0부터 사용되지 않습니다. Ext.Array.pluck'instead를 사용하십시오 –

+0

#Darin Kolev – Reimius

2

이는 ExtJS로 특정 질문이 아니다.

당신이 진정으로 다음과 같은 두 가지 객체 jvtdatadetail (그리고 JSON 문자열, 당신은 쉽게 객체로 설정할 수 있습니다) 당신이 간단하게 할 수있는 경우 :

jvtdata.detail = detail 

편집를 :위한 콘솔을 참조하십시오 이 바이올린 :

+0

실제로 두 개의 json 객체가 다음과 같이 만들어졌습니다. var jvdetailData = Ext.encode ({details : Ext.pluck (store_jvdtl.data.items, 'data')})); var jvheaderData = Ext.encode ({jvtdata : Ext.pluck (store_jvhdr.data.items, 'data') [0]}); 나는 당신이 한 일을 시도해 봤는데 그게 나를 위해 일하지 않았다 – John

+0

무슨 일을하지 않았습니까? 위의 jsfiddle 예제를보십시오 – dbrin

2

Ext.apply 당신이 찾고있는 것일 수도 있습니다. 여기

var first = { 
    "jvtdata":{ 
     "tranid":"100001", 
     "trandate":"Sun Jan 20 2013 00:00:00 GMT+0800 (Taipei Standard Time)", 
     "trantype":"f" 
    } 
}; 
var second = { 
    "detail" : [{ 
     "id": "1", 
     "obj": "data1" 
    }, { 
     "id": "2", 
     "obj": "data2" 
    }, { 
     "id": "3", 
     "obj": "data3" 
    }] 
}; 
var merged = { 
    jvtdata: Ext.apply(first.jvtdata, second) 
}; 
0

ExtJS에 대한 the function 비교된다

Ext.Object.equals(object1, object2)