Java解析JSON方式

294 阅读1分钟

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());