开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第21天,点击查看活动详情
JSON
JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。
对于前后端交互的项目,经常会用到 JSON 来实现前后端的通信。
解析 JSON
对于 Java 解析 JSON 数据,需要调用第三方的类库来实现,常用的有以下几种 JSON 解析类库:
- Gson: 谷歌开发的 JSON 库
- FastJson: 阿里巴巴开发的 JSON 库
- Jackson: 社区十分活跃且更新速度很快。
FastJson
FastJson 是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。
FastJson 可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以将 JSON 字符串反序列化为 Java Bean。
我们主要使用三个对象:
- JSON用于将字符串反序列化为JavaBean和JavaBean序列化为JSON
- JSONObject代表的是JSON对象,底层通过Map来操作,常用
getString等方法来获取对应的值 - JSONArray代表的是JSON对象数组,底层实际上是List,它用作于操作JSON对象
JSON
package com.alibaba.fastjson;
public abstract class JSON {
// Java对象转换为JSON字符串
public static final String toJSONString(Object object);
//JSON字符串转换为Java对象
public static final <T> T parseObject(String text, Class<T> clazz);
//jSON字符串转换为Java数组
public static final <T> T parseArray(String text, Class<T> clazz);
}
如果我们需要修改 JSON 字符串中的数据,比如修改某个属性,我们不会直接对 JSON 字符串进行操作,一般是将 JSON 转成我们自己的 JavaBean,再操作 JavaBean,最后序列化为 JSONString。