首页 > 技术文章 > JAVA操作ObjectMapper类

liuyi-clover 2018-08-02 13:19 原文

package com.zving;

import org.codehaus.jackson.map.ObjectMapper;

/**
 * 学习ObjectMapper类
 * 
 * @author Clover
 */
public class JacksonTester {

    public static void main(String[] args) {
        ObjectMapper mapper = new ObjectMapper();
//指定遇到date按照这种格式转换
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
mapper.setDateFormat(fmt);
        String jsonString = "";
        stringToStudent(mapper, jsonString);
        studentToString(mapper, jsonString);
        stringToStudentList(mapper, jsonString);
    }

    /**
     * 字符串转实体类
     * 
     * @param mapper
     * @param jsonString
     */
    public static void stringToStudent(ObjectMapper mapper, String jsonString) {
        jsonString = "{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"}";

        try {
            Student student = mapper.readValue(jsonString, Student.class);
            System.out.println(student);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 实体类转字符串
     * 
     * @param mapper
     * @param jsonString
     */
    public static void studentToString(ObjectMapper mapper, String jsonString) {

        Student student = new Student();
        student.setId(1002);
        student.setName("李四");
        student.setInfo("一个小女孩");
        try {
            jsonString = mapper.writeValueAsString(student);
            System.out.println(jsonString);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 字符串转 List<实体类>
     * 
     * @param mapper
     * @param jsonString
     */
    public static void stringToStudentList(ObjectMapper mapper, String jsonString) {
        jsonString = "[{\"id\":1001,\"name\":\"Tom\",\"info\":\"一个小男孩\"},{\"id\":1002,\"name\":\"Jane\",\"info\":\"一个小女孩\"}]";
        try {
            Student[] stu = mapper.readValue(jsonString, Student[].class);
            for (Student student : stu) {
                System.out.println(student);
            }

            String ss = mapper.writeValueAsString(stu);
            System.out.println(ss);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

 

推荐阅读