JSON是较轻量的文本数据交换格式
具有自我描述性,比XML传输速度快
www.JSON.cn
两种数据结构:对象和数组
大括号内为对象
小括号内为数组
对象中的数据由名称/值(键值对)构成
值类型为:字符串,数字,布尔值,null 数组,对象,数据之间逗号分隔。
{
"name":"json",
"age":20,
"skills":["java","Hadoop","python"]
}
Student类
import java.util.List;
//学员:姓名 年龄 学习技能
public class Student {
private String name;
private int age;
private List<String> skills;
public Student(String name,int age, List<String> skills) {//Student的带参构造方法
this.name = name;
this.age = age;
this.skills=skills;
}
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;
}
public List<String> getSkills() {
return skills;
}
public void setSkills(List<String> skills) {
this.skills = skills;
}
}
测试类
import com.alibaba.fastjson.JSON;
import java.util.ArrayList;
import java.util.List;
//测试类
//完成学员对象和JSON字符串的互换
public class FastJSONDemo {
public static void main(String[] args) {
//java对象(学员对象)转化为JSON字符串
List<String> skills =new ArrayList();
skills.add("java");
skills.add("HAdoop");
skills.add("Python");
Student student=new Student("jason",20,skills);
String stuJSON = JSON.toJSON(student).toString();//将student对象转换为字符串Object
System.out.println(stuJSON);
//JSON字符串转化为java对象(学员对象)
String json = "{\"skills\":[\"java\",\"HAdoop\",\"Python\"],\"name\":\"jason\",\"age\":20}";
Student stu = JSON.parseObject(json,Student.class);//JSON转化为Student的类型parseObject(json,Student.class);
System.out.println("转换为学生对象"+stu.getName()+"-"+stu.getAge()+"-"+stu.getSkills());
}
}