将JSON数据转换为一组Java对象

将JSON数据转换为一组Java对象,java,json,Java,Json,当给定JSON数据时,有没有工具可以在Java中生成JSON对象?这个工具要么假设一个“流行的”JSON库,要么允许您指定要使用的JSON库。 例如,使用有效的JSON数据 { "age":100, "name":"mkyong.com", "messages":["msg 1","msg 2","msg 3"] } 当使用“org.json.simple.”时,该工具将生成如下内容 JSONObject obj = new JSONObject(); obj.put(

当给定JSON数据时,有没有工具可以在Java中生成JSON对象?这个工具要么假设一个“流行的”JSON库,要么允许您指定要使用的JSON库。 例如,使用有效的JSON数据

{
    "age":100,
    "name":"mkyong.com",
    "messages":["msg 1","msg 2","msg 3"]
}
当使用“
org.json.simple.
”时,该工具将生成如下内容

JSONObject obj = new JSONObject();
obj.put("name", "mkyong.com");
obj.put("age", new Integer(100));

JSONArray list = new JSONArray();
list.add("msg 1");
list.add("msg 2");
list.add("msg 3");

obj.put("messages", list);

是一种用于在JSON和Java POJO之间转换的流行框架。

对于Jackson,使用和创建POJO来表示JSON对象非常简单:

public class Person {
  private int age;
  private String name;
  private List<String> messages;

  // getters/setters
}
要执行相反操作,请使用
writeValue

Person person = new Person();
person.setAge(100);
// ...
mapper.writeValue(..., person);
也是一个很好的图书馆,类似于我尝试过的jackson

还有其他选择,如,和,您可以尝试


请分享您喜欢哪一个以及原因。

有大约一百种不同的工具可用于转换JSON或从JSON转换JSON。我不记得哪一个是用Java开发的,但是快速的谷歌会告诉你,或者你可以咨询一下。我和Jackson一起去的——使用另一个有趣的链接既快捷又容易-
Person person = new Person();
person.setAge(100);
// ...
mapper.writeValue(..., person);