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类,输出结果如下:
这里写图片描述

GitHub 加速计划 / js / json
17
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:2 个月前 )
960b763e 5 个月前
8c391e04 8 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐