是否有一个工具在给定JSON数据时用Java生成JSON对象?这个工具要么假设一个"流行的"JSON库,要么让你指定要使用的JSON库.例如,使用有效的JSON数据
{
"age":100,
"name":"mkyong.com",
"messages":["msg 1","msg 2","msg 3"]
}
Run Code Online (Sandbox Code Playgroud)
当使用" 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);
Run Code Online (Sandbox Code Playgroud)
使用Jackson,它就像使用ObjectMapper和创建POJO来表示您的JSON对象一样简单:
public class Person {
private int age;
private String name;
private List<String> messages;
// getters/setters
}
Run Code Online (Sandbox Code Playgroud)
然后:
String json = "{\"age\":100,\"name\":\"mkyong.com\",\"messages\":[\"msg 1\",\"msg 2\",\"msg 3\"]}";
ObjectMapper mapper = new ObjectMapper();
Person person = mapper.readValue(json.getBytes(), Person.class);
System.out.println(person.getMessages()); // [msg 1, msg 2, msg 3]
Run Code Online (Sandbox Code Playgroud)
要反过来,请使用writeValue:
Person person = new Person();
person.setAge(100);
// ...
mapper.writeValue(..., person);
Run Code Online (Sandbox Code Playgroud)