2012-07-12 287 views
0

我試圖將通用類型的映射和其中包含的另一個映射轉換爲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(); 

請忽略語法錯誤。上面的代碼給了我父母的地圖正確是

父[鍵1] - 值1

父[MAP1] - 孩子

,但是當我看到孩子了其作爲字符串如兒童未來 - {childkey = childvalue }

我怎樣纔能有數組或像父地圖的子地圖呢?

+0

你必須重新解析才能得到孩子在地圖 – mulax 2012-07-12 19:10:19

+0

重分析?分別發送父母和孩子? – Mojoy 2012-07-12 19:13:23

+0

當你從父母的地圖從JSON,孩子仍然是JSON。如果我明白你的問題 – mulax 2012-07-12 19:22:18

回答

0

只是想到這裏,但你可能想利用Jackson JSON庫。他們的對象映射器和註釋極大地簡化了你處理JSON的方式,並且將所有東西從你的POJO中分離出來。

0

在JSON中,頂級對象沒有被命名(因爲它不是另一個對象的屬性)。因此,您只需添加另一個更高級別的對象(或數組)即可查看已命名的父級(作爲頂級對象的屬性)。但是你生成的JSON已經是有效的,並且已經是我期望看到的JavaScript消費者。