JSON(二) -- JSON转换工具 -- Jackson的使用

目录

1.  Jackson的简介:

2.  JSON转换的案例

2.1  对象 => JSON && JSON=> 对象

2.2  Map => JSON && JSON=> Map

2.3  List => JSON && JSON=> List


1.  Jackson的简介:

Jackson 是一种用于 Java 应用程序中 JSON 转换的开源库。

以下是使用 Jackson 进行 JSON 转换的基本步骤:

(1) 导入 Jackson 库:您需要在项目中导入 Jackson 库,以便在 Java 代码中使用 Jackson。

(2) 创建 ObjectMapper 实例:ObjectMapper 是 Jackson 库的核心类,它提供了 JSON 转换的核心方法。您需要创建一个 ObjectMapper 实例,以便在 Java 代码中使用 Jackson 进行 JSON 转换。

(3) 对象转换为 JSON:使用 ObjectMapper 的 writeValueAsString() 方法将 Java 对象转换为 JSON 字符串。例如,以下代码将一个名为 person 的 Java 对象转换为 JSON 字符串:

ObjectMapper objectMapper = new ObjectMapper();
Person person = new Person("John", "Doe");
String personJson = objectMapper.writeValueAsString(person);

(4)JSON 转换为对象:使用 ObjectMapper 的 readValue() 方法将 JSON 字符串转换为 Java 对象。例如,以下代码将一个名为 personJson 的 JSON 字符串转换为 Person 对象:

ObjectMapper objectMapper = new ObjectMapper();
String personJson = "{\"firstName\":\"John\",\"lastName\":\"Doe\"}";
Person person = objectMapper.readValue(personJson, Person.class);

这些步骤可以帮助您使用 Jackson 进行 JSON 转换。如果您需要更详细的使用说明,可以查看 Jackson 的官方文档。

Jackson文档地址

Jackson官网地址

json中文官网

2.  JSON转换的案例

2.1  对象 => JSON && JSON=> 对象

public class ObjectMapperTest {    
	private ObjectMapper mapper = new ObjectMapper();
    /*
        1.User对象转json, json转User对象
          json字符串 = {"name":"张三","age":23}
          user对象 = User{name='张三', age=23}
     */
    @Test
    public void test01() throws Exception{
        //User对象转json
        User user = new User("张三",23);
        String json = mapper.writeValueAsString(user);
        System.out.println("json字符串:" + json);

        //json转User对象
        User user2 = mapper.readValue(json, User.class);
        System.out.println("java对象:" + user2);
    }
}

2.2  Map => JSON && JSON=> Map

/*
  2.map<String,String>转json, json转map<String,String>
  json字符串 = {"姓名":"张三","性别":"男"}
  map对象 = {姓名=张三, 性别=男}
*/
@Test
public void test02() throws Exception{
    //map<String,String>转json
    HashMap<String,String> map = new HashMap<>();
    map.put("姓名","张三");
    map.put("性别","男");
    String json = mapper.writeValueAsString(map);
    System.out.println("json字符串:" + json);

    //json转map<String,String>
    HashMap<String,String> map2 = mapper.readValue(json, HashMap.class);
    System.out.println("java对象:" + map2);
}

2.3  List => JSON && JSON=> List

/*
  4.List<String>转json, json转 List<String>
    json字符串 = ["张三","李四"]
    list对象 = [张三, 李四]
*/
@Test
public void test04() throws Exception{
    //List<String>转json
    ArrayList<String> list = new ArrayList<>();
    list.add("张三");
    list.add("李四");
    String json = mapper.writeValueAsString(list);
    System.out.println("json字符串:" + json);

    //json转 List<String>
    ArrayList<String> list2 = mapper.readValue(json,ArrayList.class);
    System.out.println("java对象:" + list2);
}

 如果对你有帮助,请帮我点一下赞,我才有动力继续创作,谢谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值