2014-05-12 78 views
0

我必須將具有POJO值的散列表轉換爲值。使用POJO將HashMap轉換爲JSON字符串值

HashMap<String,HashMap<String,VisualizerBean>> visualizerMap = new HashMap<String,HashMap<String,VisualizerBean>>(); 

JSONObject histoGramJsonData = new JSONObject(visualizerMap);

但我得到的JSON打印類名,

「(39.995,40.185]」:

{ 
    "_type": "JavaClass", 
    "contentSum": null, 
    "count": null, 
    "_classname": "com.fractal.cascade.chart.didq.VariableVisualizerNodeModel$VisualizerBean", 
    "class": "com.fractal.cascade.chart.didq.VariableVisualizerNodeModel$VisualizerBean", 
    "contentMean": null 
} 
+1

也許你需要使用Gson或Jackson? – chrylis

回答

1

是;如果這對你來說是個問題,你可能需要使用另一個json庫,如Gson或Jackson。

+0

二手Gson。謝謝大家的幫助 – unnik

0

這是Android的

Android的醫生說:

值可以是JSONObjects,JSONArray,Strings,Booleans,Integers,Longs,Doub les或NULL。

由於com.fractal.cascade.chart.didq.VariableVisualizerNodeModel$VisualizerBean不是上面的任何東西,它會調用該類的@Override toString()

+0

這不是一個Android應用程序。 我沒有超越控制toString()方法 @Override \t \t公共字符串的toString(){ \t \t \t HashMap中<字符串,對象>地圖=新的HashMap <字符串,對象>(); \t \t \t map.put(「count」,this.count.get()); \t \t \t map.put(「contentSum」,this.contentSum); \t \t \t map.put(「contentMean」,getContentMean()); \t \t \t return map.toString(); \t \t} 但我得到的輸出是相同的。 – unnik

+0

然後我會使用Gson。它以適當的方式序列化你的POJO – HyLian