一、fastjson2
FastJson对于json格式字符串的解析主要用到三个类
1.JSON:解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换
2.JSONObject:json对象
3.JSONArray: json数组对象
1.1、引入依赖
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.76</version>
</dependency>
1.2、使用
import java.math.BigDecimal;import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONB;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.annotation.JSONField;public class Book {private Long id;@JSONField(name = "name")private String name ;private BigDecimal price;public Book() {}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public BigDecimal getPrice() {return price;}public void setPrice(BigDecimal price) {this.price = price;}@Overridepublic String toString() {return "Book{" +"id=" + id +", name='" + name + '\'' +", price=" + price +'}';}public static void main(String[]args) {Book book = new Book();book.setId(90L);book.setName("Success of mindset");book.setPrice(new BigDecimal(88.8));// 序列化System.out.println("---JSON.toJSONString: "+JSON.toJSONString(book));System.out.println("---JSONArray.toJSONString: "+JSONArray.toJSONString(book));byte[] bytes = JSONB.toBytes(book);System.out.println();System.out.println();// 反序列化String str ="{\"id\": 11,\"name\": \"fastjson2\",\"price\": \"88.8\"}";System.out.println("---JSON.parseObject: "+(Book)JSON.parseObject(str,Book.class));JSONObject jsonObject = JSON.parseObject(str);System.out.println("---jsonObject: "+jsonObject);System.out.println("------jsonObject.getIntValue:"+jsonObject.getIntValue("id"));System.out.println("---JSONB.parseObject: "+JSONB.parseObject(bytes,Book.class));System.out.println();System.out.println();// JSON解析为JSONObjectString text = "{\"id\": 11,\"name\": \"fastjson2\",\"price\": \"99.8\"}";System.out.println("---JSON.parseObject: "+JSON.parseObject(text));}}/*
---JSON.toJSONString: {"id":90,"name":"Success of mindset","price":88.7999999999999971578290569595992565155029296875}
---JSONArray.toJSONString: {"id":90,"name":"Success of mindset","price":88.7999999999999971578290569595992565155029296875}---JSON.parseObject: Book{id=11, name='fastjson2', price=88.8}
---jsonObject: {"id":11,"name":"fastjson2","price":"88.8"}
------jsonObject.getIntValue:11
---JSONB.parseObject: Book{id=90, name='Success of mindset', price=88.7999999999999971578290569595992565155029296875}---JSON.parseObject: {"id":11,"name":"fastjson2","price":"99.8"}
*/