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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

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

發(fā)布時(shí)間:2025/3/20 javascript 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java对【JSON数据的解析】--Gson解析法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Gson和fastjson分別為谷歌和阿里巴巴對(duì)JSON數(shù)據(jù)進(jìn)行處理封裝的jar包


兩者異同點(diǎn):

相同點(diǎn):都是根據(jù)JSON數(shù)據(jù)創(chuàng)建相應(yīng)的類不同點(diǎn):1.調(diào)用方式區(qū)別谷歌:方法都是非靜態(tài)的,需要先創(chuàng)建對(duì)象,再去調(diào)用阿里:方法都是靜態(tài)的,直接用類調(diào)用,不需要?jiǎng)?chuàng)建對(duì)象2.方法區(qū)別:谷歌:fromJson(參數(shù)1,參數(shù)2)阿里:JSON.parseXX(參數(shù)1,參數(shù)2)具體是parseObject()還是parseArray(),根據(jù)需要定

要求:解析下面JSON數(shù)據(jù)

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數(shù)據(jù);import com.google.gson.Gson;public class Test {public static void main(String[] args) {//Gson解析JSON數(shù)據(jù)//1.創(chuàng)建對(duì)象Person,有屬性:name,age--創(chuàng)建結(jié)束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();}}

運(yùn)行結(jié)果:


第2題:

package 谷歌和阿里解析JSON數(shù)據(jù);import java.util.ArrayList;import com.google.gson.Gson;public class Test2 {public static void main(String[] args) {//Gson解析時(shí),遇到對(duì)象創(chuàng)建對(duì)象,這個(gè)對(duì)象里所有的內(nèi)容鍵都作為對(duì)象的屬性//1.創(chuàng)建第一個(gè)對(duì)象,有屬性:persons,且為集合//2.persons集合里是對(duì)象,設(shè)對(duì)象為Person//3.Person,它有兩個(gè)屬性:name,age//4.相應(yīng)的類創(chuàng)建完畢后,就可以解析了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();} }

運(yùn)行結(jié)果


第三題:

package 谷歌和阿里解析JSON數(shù)據(jù);import java.util.ArrayList;import com.google.gson.Gson;public class Test3 {public static void main(String[] args) {//1.第一個(gè)對(duì)象有屬性:no,name,employees,且employees為集合//2.employees數(shù)組中有對(duì)象,設(shè)該對(duì)象為Person//3.Person有屬性:name,age----創(chuàng)建結(jié)束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();} }

運(yùn)行結(jié)果:

總結(jié)

以上是生活随笔為你收集整理的Java对【JSON数据的解析】--Gson解析法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。