日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Java对【JSON数据的解析】--Gson解析法

發布時間:2025/3/20 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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解析法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。