Fastjson解析JSON

1.介绍

Fastjson是阿里巴巴公司基于Java语言开发的高性能且功能完善的JSON操作类库,目前fastjson有两个版本,一个是Fastjson,另外一个是fastjson2 。

  • Fastjson1 的JSONObject 只是简单实现Map接口,是无序的map容器
  • Fastjson2 的JSONObject 实现了链结构的Map,是有序的Map容器
  • 无论是JSONObject或者JSONArray都摆脱了JSON的类,而且JSON由抽象类——>接口

我这里选择使用fastjson2

2.依赖

  <!-- https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 -->
        <dependency>
            <groupId>com.alibaba.fastjson2</groupId>
            <artifactId>fastjson2</artifactId>
            <version>2.0.12</version>
        </dependency>

3.操作jJSON对象的方法

 创建一个实体,别忘了导入lombok

@Data
public class BookModel {
    private String id;
    private String language;
    private String edition;
    private String author;
}

案例

public static void main(String[] args) {
        String json = "{\n" +
                "    \"id\":1,\n" +
                "    \"language\":\"java\",\n" +
                "    \"edition\":\"one\",\n" +
                "    \"author\":\"张三\"\n" +
                "}";

        final BookModel model = JSONObject.parseObject(json, BookModel.class);
        System.out.println(model.getId()+"\t"+model.getLanguage());

    }

 4.操作数组

操作数组有两个方法

  public static void main(String[] args) {
        String json = "[\n" +
                "    {\n" +
                "        \"id\":1,\n" +
                "        \"language\":\"java\",\n" +
                "        \"edition\":\"one\",\n" +
                "        \"author\":\"张三\"\n" +
                "    },\n" +
                "    {\n" +
                "        \"id\":2,\n" +
                "        \"language\":\"C++\",\n" +
                "        \"edition\":\"two\",\n" +
                "        \"author\":\"李四\"\n" +
                "    }\n" +
                "]";

       //方法一
        List<BookModel> modelList = JSON.parseObject(json, new TypeReference<List<BookModel>>() {});
        for (BookModel bookModel : modelList) {
            System.out.println(bookModel.getId()+"\t"+bookModel.getLanguage());
        }
        //方法二
        modelList = JSON.parseArray(json, BookModel.class);
        for (BookModel bookModel : modelList) {
            System.out.println(bookModel.getId()+"\t"+bookModel.getLanguage());
        }


    }
要使用 fastjson解析 JSON 数据,您需要按照以下步骤进行操作: 1. 导入 fastjson 库:首先,确保已将 fastjson 库添加到您的项目。您可以在项目的构建文件添加依赖项,或手动将 fastjson 的 JAR 文件复制到项目的类路径。 2. 创建 JSON 字符串:在解析 JSON 数据之前,您需要有一个 JSON 字符串来进行解析。您可以从网络请求、文件或其他数据源获取 JSON 字符串。 3. 解析 JSON 字符串:使用 fastjson 的 `JSON.parseObject()` 方法,将 JSON 字符串转换为 Java 对象。例如: ```java import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; // 假设有一个 JSON 字符串 String jsonString = "{\"name\":\"John\", \"age\":30}"; // 解析 JSON 字符串 JSONObject jsonObject = JSON.parseObject(jsonString); ``` 在上述示例,`JSON.parseObject()` 方法将 JSON 字符串转换为 `JSONObject` 对象。 4. 获取字段值:一旦将 JSON 字符串转换为 `JSONObject` 对象,您可以使用 `get()` 方法通过字段名称获取相应的值。例如: ```java String name = jsonObject.getString("name"); int age = jsonObject.getIntValue("age"); ``` 在上述示例,`getString()` 方法用于获取字符串类型的字段值,`getIntValue()` 方法用于获取整数类型的字段值。 这是一个简单的示例来解析 JSON 数据使用 fastjson 库。您可以根据实际情况进行调整和扩展。希望这对您有所帮助!如果您有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Royalreairman

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

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

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

打赏作者

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

抵扣说明:

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

余额充值