Jackson与Json、Json和各种Java数据类型的互相转化

jackson是什么

json是最常用的数据交换格式

Jackson是最流行的Json库

首先对于这种JSON序列化的库其实有非常多,比如我们熟悉的Gson,Fastjson等等,当然技术没有完全的好坏,但是从使用情况和社区生态等方面综合看来,Jackson无疑是更胜一筹;

Jsckson的使用方法:

如果是SpringBoot项目的话,引入了Spring-boot-starter-web依赖,会自动引入Jsckson的全部依赖。

如果项目的依赖没有引入,则可以通过添加Jackson依赖来手动引入



  • Jackson:开源免费的 JSON 转换工具,SpringMVC 转换默认使用 Jackson。

  • 可以将 JAVA 对象或集合转换成 JSON 格式的字符串,也可以将 JSON 格式的字符串转成 JAVA 对象。

  • 常用类

Json和各种Java数据类型的互相转化

map+嵌套对象

数组+嵌套对象

总结:

ObjectMapper mapper = new ObjectMapper();

(1)Java类型转json类型,调用mapper.writeValueAsString(),传入实参即可

(2)json类型转Java类型,调用mapper.readeValue(),第一个参数是json,第二个参数是用于接收json数据的对应的java对象类。

        如果json中没有嵌套,就用简单的 类名.Class 即可

        如果json中有嵌套,使用  new TypeReference<>(){}   作为第二个参数



redis中获得缓存json和解析json数据

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java中可以使用各种JSON库将各种类型的数据转化为JSON格式,比如Gson、Jackson、FastJSON等等。以下是使用Gson和Jackson库将各种类型的数据转化为JSON格式并从JSON中取数据的示例: 1. 将Java对象转化为JSON字符串 使用Gson库: ```java import com.google.gson.Gson; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public class MyClass { public static void main(String[] args) { Gson gson = new Gson(); // 将Java对象转化为JSON字符串 Person person = new Person("John", 30); String json1 = gson.toJson(person); System.out.println(json1); // 将List转化为JSON字符串 List<String> list = Arrays.asList("apple", "banana", "orange"); String json2 = gson.toJson(list); System.out.println(json2); // 将Map转化为JSON字符串 Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); String json3 = gson.toJson(map); System.out.println(json3); } } class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } } ``` 使用Jackson库: ```java import com.fasterxml.jackson.databind.ObjectMapper; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public class MyClass { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper(); // 将Java对象转化为JSON字符串 Person person = new Person("John", 30); String json1 = mapper.writeValueAsString(person); System.out.println(json1); // 将List转化为JSON字符串 List<String> list = Arrays.asList("apple", "banana", "orange"); String json2 = mapper.writeValueAsString(list); System.out.println(json2); // 将Map转化为JSON字符串 Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("orange", 3); String json3 = mapper.writeValueAsString(map); System.out.println(json3); } } class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } } ``` 2. 从JSON字符串中取数据 使用Gson库: ```java import com.google.gson.Gson; import java.util.List; import java.util.Map; public class MyClass { public static void main(String[] args) { Gson gson = new Gson(); // 从JSON字符串中取得Java对象 String json1 = "{\"name\":\"John\",\"age\":30}"; Person person = gson.fromJson(json1, Person.class); System.out.println(person.getName()); System.out.println(person.getAge()); // 从JSON字符串中取得List String json2 = "[\"apple\",\"banana\",\"orange\"]"; List<String> list = gson.fromJson(json2, List.class); System.out.println(list); // 从JSON字符串中取得Map String json3 = "{\"apple\":1,\"banana\":2,\"orange\":3}"; Map<String, Integer> map = gson.fromJson(json3, Map.class); System.out.println(map); } } class Person { private String name; private int age; public String getName() { return name; } public int getAge() { return age; } } ``` 使用Jackson库: ```java import com.fasterxml.jackson.databind.ObjectMapper; import java.util.List; import java.util.Map; public class MyClass { public static void main(String[] args) throws Exception { ObjectMapper mapper = new ObjectMapper(); // 从JSON字符串中取得Java对象 String json1 = "{\"name\":\"John\",\"age\":30}"; Person person = mapper.readValue(json1, Person.class); System.out.println(person.getName()); System.out.println(person.getAge()); // 从JSON字符串中取得List String json2 = "[\"apple\",\"banana\",\"orange\"]"; List<String> list = mapper.readValue(json2, List.class); System.out.println(list); // 从JSON字符串中取得Map String json3 = "{\"apple\":1,\"banana\":2,\"orange\":3}"; Map<String, Integer> map = mapper.readValue(json3, Map.class); System.out.println(map); } } class Person { private String name; private int age; public String getName() { return name; } public int getAge() { return age; } } ``` 以上就是使用Gson和Jackson库将各种类型数据转化为JSON格式并从JSON中取数据的示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#学习的路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值