首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Java中将hashmap转换为JSON对象

如何在Java中将hashmap转换为JSON对象
EN

Stack Overflow用户
提问于 2012-08-28 16:53:20
回答 22查看 837.7K关注 0票数 340

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

EN

回答 22

Stack Overflow用户

发布于 2012-08-28 17:44:36

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

下面是你如何使用它:

代码语言:javascript
复制
Gson gson = new Gson(); 
String json = gson.toJson(myObject); 

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

票数 197
EN

Stack Overflow用户

发布于 2012-08-28 17:01:28

使用json的示例

代码语言:javascript
复制
Map<String, Object> data = new HashMap<String, Object>();
    data.put( "name", "Mars" );
    data.put( "age", 32 );
    data.put( "city", "NY" );
    JSONObject json = new JSONObject();
    json.putAll( data );
    System.out.printf( "JSON: %s", json.toString(2) );

输出:

代码语言:javascript
复制
JSON: {
  "age": 32,
  "name": "Mars",
  "city": "NY"
}

您也可以尝试使用Google的GSON。Google的GSON是将Java对象转换为JSON表示的最佳库。

http://code.google.com/p/google-gson/

票数 65
EN

Stack Overflow用户

发布于 2016-04-29 17:06:32

在我的例子中,我不想要任何依赖。使用Java 8,您可以将JSON作为字符串获取,如下所示:

代码语言:javascript
复制
Map<String, Object> map = new HashMap<>();
map.put("key", "value");
map.put("key2", "value2");
String json = "{"+map.entrySet().stream()
    .map(e -> "\""+ e.getKey() + "\":\"" + String.valueOf(e.getValue()) + "\"")
    .collect(Collectors.joining(", "))+"}";
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12155800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档