fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
Fastjson已经被广泛使用在各种场景,包括cache存储、RPC通讯、MQ通讯、网络协议通讯、Android客户端、Ajax服务器处理程序等等。
fastjson相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越。
fastjson在阿里巴巴大规模使用,在数万台服务器上部署,fastjson在业界被广泛接受。在2012年被开源中国评选为最受欢迎的国产开源软件之一。
使用示例见链接:https://www.w3cschool.cn/fastjson/
代码示例:
package com.asd.reserve.utils.fastjson.demo2;
/**
* @author zs
* @date 2019/11/22 14:53
*/
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class FastJsonDemo {
static class Person{
private String id ;
private String name;
private int age ;
public Person(){
}
public Person(String id,String name,int age){
this.id=id;
this.name=name;
this.age=age;
}
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;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person \[age=" + age + ", id=" + id + ", name=" + name + "\]";
}
}
public static void main(String\[\] args) {
//method1();
//method2();
//method3();
//method4();
method5();
}
/\*\*
\*@Author: zs on 2020/1/3 9:56
\*@param:
\*@return:
\*@Description:对象与json串互转
\*/
public static void method1(){
System.out.println("javabean转化示例开始----------");
Person person = new Person("1","fastjson",1);
//将javabean转化成json字符串
String jsonString = JSON.toJSONString(person);
System.out.println(jsonString);
//将json字符串转化成javabean对象,
person =JSON.parseObject(jsonString,Person.class);
System.out.println(person.toString());
System.out.println("javabean转化示例结束----------");
}
/\*\*
\*@Author: zs on 2020/1/3 9:56
\*@param:
\*@return:
\*@Description:List集合与json串互转
\*/
public static void method2(){
System.out.println("List<javabean>转化示例开始----------");
Person person1 = new Person("1","fastjson1",1);
Person person2 = new Person("2","fastjson2",2);
List<Person> personList = new ArrayList<Person>();
personList.add(person1);
personList.add(person2);
String jsonString = JSON.toJSONString(personList);
System.out.println("json字符串:"+jsonString);
//解析json字符串
List<Person> persons2 = JSON.parseArray(jsonString,Person.class);
//输出解析后的person对象,也可以通过调试模式查看persons2的结构
System.out.println("person1对象:"+persons2.get(0).toString());
System.out.println("person2对象:"+persons2.get(1).toString());
System.out.println("List<javabean>转化示例结束----------");
}
public static void method3(){
String result = "生成成功";
String status = JSON.toJSONString(result);
System.out.println(result);
System.out.println(status);
}
public static void method4(){
String status = "{\\"status\\":\\"生成成功\\"}";
JSONObject jsonObject = JSONObject.parseObject(status);
Object o = jsonObject.get("status");
System.out.println(o);
}
public static void method5(){
/\*\*
\* 数据样式
\* {
status: success,
root: \[{
type: 'long',
propName: 'reins',
location: '0',
propValue: '5228',
desc: 'zs'
}, {
type: 'char',
propName: 'reserve',
location: '0',
propValue: '-1',
desc: 'zs'
}\]
}\*/
String json = "{success: true,root: \[{id: '123',name: '123',age: '123'}, {id: '123',name: '12321',age: '13123'}\]}";
JSONObject jsonObject = JSONObject.parseObject(json);
Object success = jsonObject.get("success");
Object root = jsonObject.get("root");
List<Person> personList = JSON.parseArray(root+"", Person.class);
System.out.println(success);
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章