當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Java对【JSON数据的解析】--Gson解析法
生活随笔
收集整理的這篇文章主要介紹了
Java对【JSON数据的解析】--Gson解析法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Gson和fastjson分別為谷歌和阿里巴巴對JSON數據進行處理封裝的jar包
兩者異同點:
相同點:都是根據JSON數據創建相應的類不同點:1.調用方式區別谷歌:方法都是非靜態的,需要先創建對象,再去調用阿里:方法都是靜態的,直接用類調用,不需要創建對象2.方法區別:谷歌:fromJson(參數1,參數2)阿里:JSON.parseXX(參數1,參數2)具體是parseObject()還是parseArray(),根據需要定要求:解析下面JSON數據
1.String string = “{name:’zhangsan’,age:18}”;
2.String string = “{persons:[{name:’zhangsan’,age:20},{name:’lisi’,age:21},{name:’wangwu’,age:22}]}”;
3.String string = “{no:1,name:’android’,employees:[{name:’zhangsan’,age:20},{name:’lisi’,age:21},{name:’wangwu’,age:22}]}”;
代碼:
第一題:
package 谷歌和阿里解析JSON數據;import com.google.gson.Gson;public class Test {public static void main(String[] args) {//Gson解析JSON數據//1.創建對象Person,有屬性:name,age--創建結束String string = "{name:'zhangsan',age:18}";Gson gson=new Gson();Person person=gson.fromJson(string, Person.class);System.out.println(person.getName()+","+person.getAge());} }class Person{private String name;private int age;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;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}public Person(String name, int age) {super();this.name = name;this.age = age;}public Person() {super();}}運行結果:
第2題:
package 谷歌和阿里解析JSON數據;import java.util.ArrayList;import com.google.gson.Gson;public class Test2 {public static void main(String[] args) {//Gson解析時,遇到對象創建對象,這個對象里所有的內容鍵都作為對象的屬性//1.創建第一個對象,有屬性:persons,且為集合//2.persons集合里是對象,設對象為Person//3.Person,它有兩個屬性:name,age//4.相應的類創建完畢后,就可以解析了String string = "{persons:[{name:'zhangsan',age:20},{name:'lisi',age:21},{name:'wangwu',age:22}]}";Gson gson=new Gson();Persons persons=gson.fromJson(string, Persons.class);System.out.println(persons);} }class Persons{private ArrayList<Person1> persons;public ArrayList<Person1> getPersons() {return persons;}public void setPersons(ArrayList<Person1> persons) {this.persons = persons;}@Overridepublic String toString() {return "Persons [persons=" + persons + "]";}public Persons(ArrayList<Person1> persons) {super();this.persons = persons;}public Persons() {super();}}class Person1{private String name;private int age;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;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}public Person1(String name, int age) {super();this.name = name;this.age = age;}public Person1() {super();} }運行結果
第三題:
package 谷歌和阿里解析JSON數據;import java.util.ArrayList;import com.google.gson.Gson;public class Test3 {public static void main(String[] args) {//1.第一個對象有屬性:no,name,employees,且employees為集合//2.employees數組中有對象,設該對象為Person//3.Person有屬性:name,age----創建結束String string = "{no:1,name:'android',employees:[{name:'zhangsan',age:20},{name:'lisi',age:21},{name:'wangwu',age:22}]}";Gson gson=new Gson();Demo demo=gson.fromJson(string, Demo.class);System.out.println(demo);} }class Demo{private int no;private String name;private ArrayList<Person2> employees;public int getNo() {return no;}public void setNo(int no) {this.no = no;}public String getName() {return name;}public void setName(String name) {this.name = name;}public ArrayList<Person2> getEmployees() {return employees;}public void setEmployees(ArrayList<Person2> employees) {this.employees = employees;}@Overridepublic String toString() {return "Demo [no=" + no + ", name=" + name + ", employees=" + employees + "]";}public Demo(int no, String name, ArrayList<Person2> employees) {super();this.no = no;this.name = name;this.employees = employees;}public Demo() {super();}}class Person2{private String name;private int age;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;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}public Person2(String name, int age) {super();this.name = name;this.age = age;}public Person2() {super();} }運行結果:
總結
以上是生活随笔為你收集整理的Java对【JSON数据的解析】--Gson解析法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java对【JSON数据的解析】--官方
- 下一篇: Java对【JSON数据的解析】--fa