您好我有嵌套对象,包含哈希和列表。我正在尝试使用gson,但如果hashmaps中的值是hashmaps而不是简单的字符串,那么似乎效果不好。
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));
似乎运作良好。
答案 0 :(得分:4)
它不起作用的原因是你把结果放在:new HashMap&lt;&gt;()。put(“compulsary”,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));
{“validations”:{“compulsary”:1},“label”:“我正在做某事”}
答案 1 :(得分:0)