如何在Java中转换或转换哈希图到JSON对象,并再次将JSON对象转换为JSON字符串?


当前回答

迟到总比不到好。如果你想要一个序列化的列表,我使用GSON将HashMap列表转换为字符串。

List<HashMap<String, String>> list = new ArrayList<>();
HashMap<String,String> hashMap = new HashMap<>();
hashMap.add("key", "value");
hashMap.add("key", "value");
hashMap.add("key", "value");
list.add(hashMap);

String json = new Gson().toJson(list);

这个json产生[{“关键”:“价值”、“关键”:“价值”,“关键”:“价值”}]

其他回答

我们使用Gson。

Gson gson = new Gson();
Type gsonType = new TypeToken<HashMap>(){}.getType();
String gsonString = gson.toJson(elements,gsonType);

迟到总比不到好。如果你想要一个序列化的列表,我使用GSON将HashMap列表转换为字符串。

List<HashMap<String, String>> list = new ArrayList<>();
HashMap<String,String> hashMap = new HashMap<>();
hashMap.add("key", "value");
hashMap.add("key", "value");
hashMap.add("key", "value");
list.add(hashMap);

String json = new Gson().toJson(list);

这个json产生[{“关键”:“价值”、“关键”:“价值”,“关键”:“价值”}]

我找到了另一种处理方法。

Map obj=new HashMap();    
obj.put("name","sonoo");    
obj.put("age",new Integer(27));    
obj.put("salary",new Double(600000));   
String jsonText = JSONValue.toJSONString(obj);  
System.out.print(jsonText);

希望这能有所帮助。

谢谢。

你可以使用Gson。 这个库提供了将Java对象转换为JSON对象的简单方法,反之亦然。

例子:

GsonBuilder gb = new GsonBuilder();
Gson gson = gb.serializeNulls().create();
gson.toJson(object);

当需要设置默认选项以外的配置选项时,可以使用GsonBuilder。在上面的例子中,转换过程也将序列化object中的null属性。

但是,这种方法只适用于非泛型类型。对于泛型类型,你需要使用toJson(object, Type)。

更多关于Gson的信息请点击这里。

记住,对象必须实现Serializable接口。

Gson还可以用于序列化任意复杂的对象。

下面是如何使用它:

Gson gson = new Gson(); 
String json = gson.toJson(myObject); 

Gson将自动将集合转换为JSON数组。Gson可以序列化私有字段并自动忽略瞬态字段。