1.什么是JSON
JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于阅读和编写,同时也易于解析和生成,并有效地提升网络传输效率。
2.JSON语法
- JSON对象
对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。例如:{key1:value1,key2:value2,......}
- JSON数组
数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。例如:[value1,value2,value3,......]
- 普通参数
string:"hello"; number:123.456;
3.JSON的解析方式
实体类Person
public class Person {
private String name;
private String sex;
private int age;
public Person(String name, String sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public String getName() {
return name;
}
public String getSex() {
return sex;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person{name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + '}';
}
}
- Gson方式 将对象转换为JSON字符串
Person person = new Person("张三", "男", 1);
Gson gson = new Gson();
String jsonString = gson.toJson(person);
System.out.println(jsonString);
将JSON字符串转换为对象
String jsonString = "{\"name\":\"张三\",\"sex\":\"男\",\"age\":1}";
Gson gson = new Gson();
Person person = gson.fromJson(jsonString, Person.class);
System.out.println(person.toString());
- FastJson方式 将对象转换为JSON字符串
Person person = new Person("李四", "男", 2);
Object jsonString = JSON.toJSONString(person);
System.out.println(jsonString.toString());
将JSON字符串转换为对象
String jsonString = "{\"name\":\"李四\",\"sex\":\"男\",\"age\":2}";
Person person = JSON.parseObject(jsonString, Person.class);
System.out.println(person.toString());