如何在java中将哈希映射转换为json

如何在java中将哈希映射转换为json,java,json,list,hashmap,gson,Java,Json,List,Hashmap,Gson,嗨,我有一个嵌套对象,由哈希和列表组成。我试图使用gson,但是如果hashmaps中的值是hashmaps而不是简单的字符串,那么它似乎不起作用 Map questionDetails = new HashMap<>(); questionDetails.put("label", descriptionNode.getText()); questionDetails.put("validations", new HashMap<>().put("compulsary",

嗨,我有一个嵌套对象,由哈希和列表组成。我试图使用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));

Map questionDetails=newhashmap();
questionDetails.put(“标签”,descriptionNode.getText());
问题细节。放(“验证”,“某物”);
System.out.println(新的Gson().toJson(questionDetails));
似乎效果不错。

使用

 new JSONObject(map);
您可以从其文档中获得的其他函数
它不起作用的原因是您将:new HashMap().put(“强制”,1)的结果而不是hasmap本身

questionDetails.put("validations", new HashMap<>().put("compulsary", 1));
questionDetails.put(“验证”,newhashmap().put(“强制”,1));
做:

Map questionDetails=newhashmap();
questionDetails.put(“标签”,descriptionNode.getText());
Map validations=newhashmap();
validations.put(“强制”,1)
问题详情。放置(“验证”,验证);
System.out.println(新的Gson().toJson(questionDetails));
{“验证”:{“强制”:1},“标签”:“我正在做某事”}

 new JSONObject(map);
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));