gson解析json資料分析

2021-08-04 17:18:05 字數 2131 閱讀 6738

1.工具類

/**

**封裝json解析工具類,提供范型引數

*/

class gsonutil.gettype() );

return result ;}}

(1)單條無巢狀json資料的解析

eg:{「name」:「jz」,"age":20}

1.定義資料結構類:

public class person ";  //注:這裡也可以不使用轉義字元,而用單引號:string jsondata = "";

2 gson gson = new

gson();

3 person person = gson.fromjson(jsondata,person.class);

string jsondata = "";

person person = gsonutil.parsejsonwithgson(jsondata, person.class

);

(2)單條有巢狀的json資料解析

eg:}

1、定義student類:

1

class

student

1516

public

void

setcourse(string course)

1920

public

string getscore()

2324

public

void

setscore(string score)

2728

public

string getlevel()

3132

public

void

setlevel(string level)

3536

//重寫tostring方法

37@override

38public

string tostring() 42}

4344

//重寫tostring方法

45@override

46public

string tostring()

50 }

string jsondata = "}";

student student = gsonutil.parsejsonwithgson(jsondata, student.class

);

(三) 解析json陣列(多條json資料)

例如: [,]}, ,]}]   //注:json陣列最外層一定要加""

string jsondata = "[,]},,]}]";

liststudents =gsonutil.parsejsonarraywithgson(jsondata,

student.class

);

2

class

student

5354

public

void

setcourse(string course)

5758

public

string getscore()

6162

public

void

setscore(string score)

6566}67

68public

string getname()

7172

public

void

setname(string name)

7576

public listgetgrade()

7980

public

void setgrade(listgrade)

83 }

如果資料結構這樣子:(很重要)

用下面這個:

public

static

listgetobjectlist(string jsonstring,classcls)  

} catch (exception e)   

return list;  

} 覺得有用請大家點讚哦

借鑑:

Gson解析json資料

1 解析單個物件 json字串如下 封裝解析的物件 public class nbamatchs public void setformatdate string formatdate public string getdate public void setdate string date pub...

json資料解析(gson)

string json type type new typetoken gettype suppresswarnings unchecked mapdata map new gson fromjson json,type iterator iterator data.entryset iterato...

Gson解析json資料

使用gson解析json資料 1.當json資料是jsonobject時對應大括號 2.當json資料是jsonarray時對應中括號 person name xiaoming,age 1,address meiguo,colorstring null,height 0 person name xi...