您的位置首页生活百科

java操作json数据之fastjson

java操作json数据之fastjson

的有关信息介绍如下:

java操作json数据之fastjson

JSON(JavaScriptObject Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

主要介绍:com.alibaba.fastjson.JSON中的方法的使用。如下图所示

第一步骤:创建一个springboot项目。

1、file--》new--》project...或者Model...打开创建窗口

2、选择创建的项目为spring initializr 进入springboot项目创建步骤(也可以选择类型java,创建一个普通java web项目)

3、输入项目名字,选择依赖web(如果不需要可以不选),选择存放目录-完成(Finish)

第二步骤:测试环境准备。

2.1在项目的pox.xml文件的dependencies标签中引入fastjson依赖

com.alibaba

fastjson

1.2.47

2.2 实体类Student ,get和set方法自己生成(不能缺少)。

public class Student {

private int id;

private String name;

private String sex;

}

2.3 实体类Person属性是一个对象的测试。get和set方法自己生成(不能缺少)

public class Person

private String id

private Person pserson;

}

第二步骤:fastjson单个实体对象的转换。

1、需要引入:

import com.alibaba.fastjson.JSON;

public static void main(String[] args) {

//创建一个对象并将 给对象赋值

Student st = new Student();

st.setId(1);

st.setName("张三");

st.setSex("男");

//使用fastjson转化为json字符串

String studentJson = JSON.toJSONString(st);

System.out.println(studentJson);

//将json字符串转为实体对象

Student changeStudent = JSON.parseObject(studentJson,Student.class);

System.out.println(changeStudent.getName())

}

2、单个java.util.Map的操作和实体类相同。

第四步骤:list集合的json使用。

引入依赖:

import com.alibaba.fastjson.JSON;

import java.util.ArrayList;

import java.util.List;

public static void main(String[] args) {

//创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据

List list= new ArrayList();

Student st = new Student();

st.setId(1); st.setName("张三"); st.setSex("男");

Student st2 = new Student();

st2.setId(2); st2.setName("小丽"); st2.setSex("女");

list.add(st); list.add(st2);

String studentJson = JSON.toJSONString(list);

//将对象转json

System.out.println(studentJson);

List list2 = JSON.parseArray(studentJson,Student.class);

System.out.println(list2);

System.out.println(list2.get(0).getName());

}

第五步骤:多层实体类转json处理。

第一种:实体类Person

public static void main(String[] args) {

Person p1 = new Person(); p1.setId("111");

Person p2 = new Person(); p2.setId("222");

Person p3 = new Person(); p3.setId("333");

p1.setPserson(p2); p2.setPserson(p3);

String studentJson = JSON.toJSONString(p1);

//将对象转json

System.out.println(studentJson);

Person p4 = (Person) JSON.parseObject(studentJson,Person.class);

Person p5 = p4.getPserson();

Person p6 = p5.getPserson();

System.out.println(p6.getId());}

第二种:多层mao的转换在fastjson-1.2.2.jar中和实体类一致。

import com.alibaba.fastjson.JSON;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

public static void main(String[] args) {

Map m1 = new HashMap(); m1.put("name","张三");

Map m2 = new HashMap(); m2.put("name","李四");

Map m3 = new HashMap(); m3.put("name","王二");

m1.put("map",m2); m2.put("map",m3);

String studentJson = JSON.toJSONString(m1);

//将对象转json

System.out.println(studentJson);

Map m4 = JSON.parseObject(studentJson,Map.class);

Map m5 = (Map) m4.get("map");

Map m6 = (Map) m5.get("map");

System.out.println(m6.get("name"));

}