Java 使用FastJson对JSON字符串、JSON对象和Java对象之间的转化

本文详细介绍了阿里巴巴的FastJson库,它是一个用于Java后台处理JSON数据的工具包,以其速度和功能强大著称。文中通过实例展示了如何进行Java对象到JSON字符串、JSON字符串到Java对象、JSON字符串到Java简单对象以及JSON字符串数组到Java对象的转换,强调了常用方法如`toJSONString()`和`parseObject()`的使用。
摘要由CSDN通过智能技术生成

前言

参考文章:
使用FastJson对JSON字符串、JSON对象及JavaBean之间的相互转换

FastJson简介

一、FastJson是用于java后台处理json格式数据的一个工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:

  • 速度最快,测试表明,fastjson具有极快的性能,超越任其他的java json parser。
  • 功能强大,完全支持java bean、集合、Map、日期、Enum,支持范型,支持自省。
  • 无依赖,能够直接运行在Java SE 5.0以上版本

二、FastJson对于json格式字符串的解析主要用到了一下三个类:

  • JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。
  • JSONObject:fastJson提供的json对象。
  • JSONArray:fastJson提供json数组对象。

三、安装依赖包

pom文件添加下面这个信息

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>         
    <version>1.2.47</version>
 </dependency>

实例

  1. 建立一个学生类
import lombok.Data;

@Data
public class Student {
    private int id ;
    private String name ;
    private int age ;
}
  1. 建立主函数
 // Java对象转Json字符串
        System.out.println("======================================");
        System.out.println("Java对象转Json字符串");
        Student stud1 = new Student();
        stud1.setName("li");
        stud1.setAge(23);
        stud1.setId(10);
        System.out.println("Java对象:"+stud1);
        String s = JSON.toJSONString(stud1);
        System.out.println("转为Json字符串:"+s);

        // JSON字符串转JSON对象   对于JSON对象与JSON格式字符串的转换可以直接用 toJSONString()这个方法。
        System.out.println("======================================");
        System.out.println("JSON字符串转JSON对象");

        JSONObject jsonObject = JSON.parseObject(s);
        System.out.println("类型:"+jsonObject.getClass());
        System.out.println("JSON对象:"+jsonObject);


        //json字符串转java简单对象
        // JSON.parseObject():将Json字符串转为对应的对象
        System.out.println("======================================");
        System.out.println("json字符串转java简单对象");
        String str = "{\"id\":01,\"name\":\"li\",\"age\":12}" ;
        Student stud2= JSON.parseObject(str,Student.class) ;
        System.out.println(stud2.getClass());
        System.out.println(stud2);


        // JSON字符串数组型与Java对象的转换
        // json字符串--数组型与JSONArray对象之间的转换
        String ss = "[{\"id\":01,\"name\":\"li\",\"age\":12},{\"id\":02,\"name\":\"nn\",\"age\":10}]" ;

        JSONArray ja = JSONArray.parseArray(ss);
        System.out.println("======================================");
        System.out.println("json字符串--数组型与JSONArray对象之间的转换:");
        System.out.println("JSONArray对象:"+ja);

        List<Student> stud3 = JSON.parseArray(ja.toString(),Student.class) ;
        System.out.println("======================================");
        System.out.println("json字符串--数组型与List对象之间的转换:");
        System.out.println("List对象:"+stud3);

结果展示

======================================
Java对象转Json字符串
Java对象:Student(id=10, name=li, age=23)
转为Json字符串:{"age":23,"id":10,"name":"li"}
======================================
JSON字符串转JSON对象
类型:class com.alibaba.fastjson.JSONObject
JSON对象:{"name":"li","id":10,"age":23}
======================================
json字符串转java简单对象
class study.nian.project01.entity.Student
Student(id=1, name=li, age=12)
======================================
json字符串--数组型与JSONArray对象之间的转换:
JSONArray对象:[{"name":"li","id":1,"age":12},{"name":"nn","id":2,"age":10}]
======================================
json字符串--数组型与List对象之间的转换:
List对象:[Student(id=1, name=li, age=12), Student(id=2, name=nn, age=10)]

总结

  • 需要对JSON格式简单了解一下,几个常用函数也要知道作用是什么
    对于JSON对象与JSON格式字符串的转换可以直接用 toJSONString()这个方法。
    JSON.parseObject():将Json字符串转为对应的对象

  • 转换方法可能会遗忘,多用用就行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nsq_ai

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

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

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

打赏作者

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

抵扣说明:

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

余额充值