2013-07-30 46 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}, “标签”: “我在做某件事情”}

相关问题