将Java Object转换为Json,反之亦然?

Oom*_*ity 5 java json spring-mvc

我知道JSON对象只不过是String.

我的问题是我有一个Object of Object,我想把它转换成Json格式.

示例:

Java Class ->
Class Person{
  private String name;
  private String password;
  private int number;
}

Java list ->
Map<List<Long>,List<Person>> map=new HashMap<List<Long>,List<Person>>();
..and map has Some data filled in it.
Run Code Online (Sandbox Code Playgroud)

我想将该列表转换为

 Json Format?
Run Code Online (Sandbox Code Playgroud)

我怎么能实现它?因为我想通过HttpClient发送它...如果不是另一种替代方式呢?

据我所知,有Gson API可用,但我不知道如何使用它或以其他有效的方式.

谢谢

Bri*_*new 5

不确定Gson的问题是什么.来自doc:

BagOfPrimitives obj = new BagOfPrimitives();
Gson gson = new Gson();
String json = gson.toJson(obj); 
Run Code Online (Sandbox Code Playgroud)

BagOfPrimitives obj2 = gson.fromJson(json, BagOfPrimitives.class);  
Run Code Online (Sandbox Code Playgroud)

该对象(顾名思义)由原语组成.然而,Gson将轻松处理对象,对象集合等.使用泛型等时生活会变得复杂一些,但对于上面的例子,我希望Gson可以轻松地处理.


Oom*_*ity 1

我得到了答案,但感谢您的回复。

 Map<Long,List<Person>> map=new HashMap<Long,List<Person>>();
    //adding some data

Gson gson=new Gson();
String mapJsonStr=gson.toJson(map);

//mapJsonStr : is my map's JSon Strin
Run Code Online (Sandbox Code Playgroud)

用于反向

 TypeToken<Map<Long,List<Person>>> token = new TypeToken<Map<Long,List<Person>>>(){};
    Map<Long,List<Person>> map_new=new HashMap<Long,List<Person>>();
    map_new=gson.fromJson(mapJsonStr,token.getType());

    //origian map
// map_new is my Map get from map's Json String
Run Code Online (Sandbox Code Playgroud)

就是这样。谢谢