ObjectMapper可以实现Java对象和json字符串间互相转换,我们经常用到的是它的Java对象转json字符串功能。

Java对象和json字符串间的相互转换:

  • 【json字符串转为Java对象:readValue(json字符串,类.class)】
  • 【Java对象转为json字符串:writeValueAsString(class类对象)】

转换示例:

那么如何实现Java对象转json字符串呢,本人不太喜欢啰嗦(不善于表达的借口),直接上代码。

ObjectMapper的用法示例:

UserData类:

package test;

import java.io.IOException;
import java.util.*;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

public class UserData {

    public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException{
        ObjectMapper objectMapper = new ObjectMapper();
        User u = new User();
        u.setName("Lucy");
        u.setAge(10);
        u.setSex("woman");
        //对象转为json字符串
        String userJson = objectMapper.writeValueAsString(u);
        System.out.println("对象转为json字符串:");
        System.out.println(userJson);

        //json字符串转为对象
        String UserString = "{\"name\":\"Lily\", \"age\":9, \"sex\":\"woman\"}";
        User u2 = objectMapper.readValue(UserString,User.class);
        System.out.println("json字符串转为对象:");
        System.out.println(u2);
    }

}

User类:

package test;

public class User {
    private String name;
    private int age;
    private String sex;

    public String getName(){
        return name;
    }
    public void setName(String name){
        this.name = name;
    }
    public int getAge(){
        return age;
    }
    public void setAge(int age){
        this.age = age;
    }
    public String getSex(){
        return sex;
    }
    public void setSex(String sex){
        this.sex = sex;
    }

}

执行UserData类,输出结果如下:
这里写图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐