2013-07-30 76 views
3

嗨,我有嵌套對象,包含散列和列表。我正在嘗試使用gson,但如果hashmaps中的值是hashmaps而不是簡單的字符串,那麼似乎不起作用。如何將hashasps的哈希值轉換爲java中的json

Map questionDetails = new HashMap<>(); 
questionDetails.put("label", descriptionNode.getText()); 
questionDetails.put("validations", new HashMap<>().put("compulsary", 1)); 
System.out.println(new Gson().toJson(questionDetails)); 

如果打印

{"label":"I am working on something"} 

Map questionDetails = new HashMap<>(); 
questionDetails.put("label", descriptionNode.getText()); 
questionDetails.put("validations", "something"); 
System.out.println(new Gson().toJson(questionDetails)); 

似乎運作良好。

回答

4

得到它不工作的原因是,你把結果:新的HashMap <>()把(」。強制性「,1)而不是hasmap本身。

questionDetails.put("validations", new HashMap<>().put("compulsary", 1)); 

做:

Map questionDetails = new HashMap<>(); 
questionDetails.put("label", descriptionNode.getText()); 
Map validations = new HashMap<>(); 
validations.put("compulsary", 1) 
questionDetails.put("validations", validations); 
System.out.println(new Gson().toJson(questionDetails)); 

{ 「驗證」:{ 「必須放」:1}, 「標籤」: 「我在做某件事情」}

相關問題