ObjectMapper使用详情

可以使用ObjectMapper进行json和对象间的转换

  • Jackson ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)是使用Jackson解析JSON最简单的方法。
  • Jackson ObjectMapper可以从字符串、流或文件解析JSON,并创建Java对象或对象图来表示已解析的JSON
  • 将JSON解析为Java对象也称为从JSON反序列化Java对象
  • Jackson ObjectMapper也可以从Java对象创建JSON. 从Java对象生成JSON的过程也被称为序列化Java对象到JSON

依赖

  1. <dependency>
  2. <groupId>com.fasterxml.jackson.core</groupId>
  3. <artifactId>jackson-databind</artifactId>
  4. <version>2.9.9</version>
  5. </dependency>

1、字符串转实体类

  1. /**
  2. * 字符串转实体类
  3. *
  4. * @param mapper
  5. * @param jsonString
  6. */
  7. public static void stringToStudent(ObjectMapper mapper, String jsonString) {
  8. jsonString = "{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"}";
  9. try {
  10. Student student = mapper.readValue(jsonString, Student.class);
  11. System.out.println("student = " + student);
  12. //student = JacksonTest.Student(id=1001, name=Tom, info=一个小男孩)
  13. } catch (Exception e) {
  14. e.printStackTrace();
  15. }
  16. }

2、实体类转字符串

  1. /**
  2. * 实体类转字符串
  3. *
  4. * @param mapper
  5. * @param jsonString
  6. */
  7. public static void studentToString(ObjectMapper mapper, String jsonString) {
  8. Student student = new Student();
  9. student.setId(1002);
  10. student.setName("李四");
  11. student.setInfo("一个小女孩");
  12. try {
  13. jsonString = mapper.writeValueAsString(student);
  14. System.out.println("jsonString = " + jsonString);
  15. //jsonString = {"id":1002,"name":"李四","info":"一个小女孩"}
  16. } catch (Exception e) {
  17. e.printStackTrace();
  18. }
  19. }

3、字符串转 List<实体类>

  1. /**
  2. * 字符串转 List<实体类>
  3. *
  4. * @param mapper
  5. * @param jsonString
  6. */
  7. public static void stringToStudentList(ObjectMapper mapper, String jsonString) {
  8. jsonString = "[{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"},{\"id\":1002,\"name\":\"Jane\",\"info\":\"一个小女孩\"}]";
  9. try {
  10. Student[] stu = mapper.readValue(jsonString, Student[].class);
  11. for (Student student : stu) {
  12. System.out.println("student = " + student);
  13. //student = JacksonTest.Student(id=1001, name=Tom, info=一个小男孩)
  14. //student = JacksonTest.Student(id=1002, name=Jane, info=一个小女孩)
  15. }
  16. String ss = mapper.writeValueAsString(stu);
  17. System.out.println("ss = " + ss);
  18. //ss = [{"id":1001,"name":"Tom","info":"一个小男孩"},{"id":1002,"name":"Jane","info":"一个小女孩"}]
  19. } catch (Exception e) {
  20. e.printStackTrace();
  21. }
  22. }

扩展:

ObjectMapper的详细使用
ObjectMapper常见用法
Jackson之ObjectMapper对象的使用

发表评论

表情:
评论列表 (有 0 条评论,90人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ObjectMapper

    ObjectMapper类是Jackson库的主要类。它提供一些功能将转换成Java对象匹配JSON结构,反之亦然。它使用JsonParser和JsonGenerator的实例

    相关 ObjectMapper

    ObjectMapper类是Jackson库的主要类。它提供一些功能将转换成Java对象匹配JSON结构,反之亦然。它使用JsonParser和JsonGenerator的实例