您的位置:首页 > Web前端 > JavaScript

Fastjson的简单使用

2017-05-13 22:36 441 查看
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"}]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java fastjson