2012-07-12 5 views
0

제네릭 유형의지도를 JSON 객체에 포함하고 다른 인터페이스를 포함하는지도를 JSON 객체로 변환하고 UI로 보내려고하지만 상위지도 만 가져오고 있습니다. 내부지도가 나타납니다. 문자열로.json 객체에 매핑

예,

 JSONObject obj = new JSONObject(); 
     Map parent = new HashMap(); 
     parent.put("key1", "value1"); 
     Map child = new HashMap(); 
     child.put("childKey", "childValue"); 
     parent.put("map1", child); 
     obj.put("result", parent); 
     return obj.toString(); 

구문 오류를 무시하십시오. 위의 코드는 제대로 나에게 부모의지도를 제공 그

부모 [KEY1]입니다 - 값 1

부모 [MAP1] - 아이

하지만 난 아이를 볼 때 자신은 아이처럼 문자열로 오는 - {childkey = childValue가 }

배열 또는 하위지도의 부모지도를 어떻게 가질 수 있습니까?

+0

재분석해야 의미에서 재 패자 – mulax

+0

지도를 얻을 수 있습니까? 부모와 자식을 따로 보내야합니까? – Mojoy

+0

부모를 json에서지도로 가져올 때 자식은 여전히 ​​json입니다. 너의 문제를 이해한다면 – mulax

답변

0

여기에 대한 생각은 있지만 Jackson JSON 라이브러리를 활용하고 싶을 수도 있습니다. 객체 매퍼와 주석을 사용하면 JSON을 처리하는 방법과 POJO와 분리하는 방법이 크게 단순 해집니다.

0

JSON에서는 최상위 수준 개체의 이름이 지정되지 않습니다 (다른 개체의 속성이 아니기 때문에). 상위 (상위 레벨 객체의 속성으로)라는 부모를 보려면 다른 상위 수준의 객체 (또는 배열)를 추가해야합니다. 하지만 제작 한 JSON은 이미 유효하며 JavaScript 소비자로 기대하고 있습니다.