Fastjson的简单使用

1.首先创建一个maven项目,pom文件中添加依赖

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


2.创建一个classs类和student类

package model;


import java.util.List;

public class Classs {
    private String classNo;

    private List<Student> studentList;

    public String getClassNo() {
        return classNo;
    }

    public void setClassNo(String classNo) {
        this.classNo = classNo;
    }

    public List<Student> getStudentList() {
        return studentList;
    }

    public void setStudentList(List<Student> studentList) {
        this.studentList = studentList;
    }
}

package model;


public class Student {
    private String id;

    private String name;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return this.id+","+this.name;
    }
}

3.使用方法

(1)字符串和JSON对象、数组的相互转化

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;


public class JsonObjectTest {
    public static void main(String[] args){
        String stuJson= "{\"id\":1,\"name\":\"zhangsan\"}";
        //1.字符串转为json对象
        JSONObject obj= JSONObject.parseObject(stuJson);//也可使用JSON.parseObject()方法
        //向对象中添加key-value
        obj.put("birth","1990-10-10");
        System.out.println(obj.toJSONString());//json对象转为字符串输出

        //2.字符串转为json数组
        String stuJsonArr= "[{\"id\":2,\"name\":\"tlisi\"}]";
        JSONArray array=JSONArray.parseArray(stuJsonArr);
        //json数组中添加对象
        array.add(obj);
        System.out.println(array.toString());
    }
}


输出内容:

{"name":"zhangsan","birth":"1990-10-10","id":1}
[{"name":"tlisi","id":2},{"name":"zhangsan","birth":"1990-10-10","id":1}]


(2)json字符串和对象的相互转化

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import model.Classs;
import model.Student;

import java.util.ArrayList;
import java.util.List;

/**
 *字符串和对象的相互转换
 */
public class Str2ObjectTest {
    public static void main(String[] args){

        String stuJson= "{\"id\":1,\"name\":\"zhangsan\"}";

        //1.json字符串转对象
        Student student=JSON.parseObject(stuJson, Student.class);
        System.out.println("-------------json字符串转对象-------------");
        System.out.println(student.getId());
        System.out.println(student.getName());
        System.out.println("-------------对象转为json字符串-------------");
        //2.对象转为json字符串
        String json=JSON.toJSONString(student);
        System.out.println(json);

        System.out.println("-------------包含list的对象-------------");
        Student s1=new Student();
        s1.setId("1");
        s1.setName("zhangsn");
        Student s2=new Student();
        s2.setId("2");
        s2.setName("lsi");

        List<Student> studentList=new ArrayList<Student>();
        studentList.add(s1);
        studentList.add(s2);
        Classs cls=new Classs();
        cls.setClassNo("1");
        cls.setStudentList(studentList);
        String clsJson= JSONObject.toJSONString(cls);
        System.out.println("对象转json字符串:");
        System.out.println(clsJson);
        System.out.println("json字符串转对象:");
        Classs classs=JSON.parseObject(clsJson,Classs.class);
        System.out.println(classs.getClassNo());
        System.out.println(classs.getStudentList());
    }
}


 
 输出内容: 

-------------json字符串转对象-------------
1
zhangsan
-------------对象转为json字符串-------------
{"id":"1","name":"zhangsan"}
-------------包含list的对象-------------
对象转json字符串:
{"classNo":"1","studentList":[{"id":"1","name":"zhangsn"},{"id":"2","name":"lsi"}]}
json字符串转对象:
1
[1,zhangsn, 2,lsi]

(3)list和json的相互转化

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import model.Student;

import java.util.ArrayList;
import java.util.List;

/**
 * list和json的相互转化
 */
public class List2JsonTest {
    public static void main(String[] args){
        Student s1=new Student();
        s1.setId("1");
        s1.setName("zhangsn");

        Student s2=new Student();
        s2.setId("2");
        s2.setName("lsi");

        List<Student> studentList=new ArrayList<Student>();
        studentList.add(s1);
        studentList.add(s2);
        //list转为json字符串
        String stuJsonArr= JSONObject.toJSONString(studentList);

        //将字符串再转为json数组
        JSONArray array=JSONArray.parseArray(stuJsonArr);
        System.out.println(array.toString());

    }
}

输出结果:

[{"name":"zhangsn","id":"1"},{"name":"lsi","id":"2"}]




Fastjson是一个Java语言编写的高性能JSON处理库,可以实现JSON字符串与Java对象之间的相互转换。下面是一个简单的示例,演示了如何使用Fastjson进行JSON的序列化和反序列化: 1. 导入Fastjson的依赖包到你的项目中。你可以在Maven或Gradle配置文件中添加以下依赖: ```xml <!-- Maven --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.78</version> </dependency> // Gradle implementation 'com.alibaba:fastjson:1.2.78' ``` 2. 创建一个Java对象,例如: ```java public class Person { private String name; private int age; // getters and setters } ``` 3. 将Java对象转换为JSON字符串: ```java import com.alibaba.fastjson.JSON; Person person = new Person(); person.setName("John"); person.setAge(25); String jsonString = JSON.toJSONString(person); System.out.println(jsonString); ``` 这将输出以下JSON字符串: ```json {"age":25,"name":"John"} ``` 4. 将JSON字符串转换为Java对象: ```java String jsonString = "{\"name\":\"John\",\"age\":25}"; Person person = JSON.parseObject(jsonString, Person.class); System.out.println(person.getName()); System.out.println(person.getAge()); ``` 这将输出: ``` John 25 ``` 这只是Fastjson的基本用法示例,你还可以使用Fastjson进行更复杂的JSON处理操作,例如处理嵌套对象、数组等。你可以参考Fastjson的官方文档(https://github.com/alibaba/fastjson/wiki/Quick-Start)了解更多用法和功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值