如何解析json格式的字串

2022-09-07 14:06:12 字數 2774 閱讀 6676

package com.json;

import j**a.util.arraylist;

import j**a.util.hashmap;

import j**a.util.list;

import j**a.util.map;

import com.alibaba.fastjson.jsonarray;

import com.alibaba.fastjson.jsonobject;

public

class

jsontest ]}

";//

為了避免二義性,字串裡面的雙印號使用了\轉義字元

jsonobject root = new jsonobject().parseobject(jsonstr);//

將json格式的字串轉換成json

string errorcode = root.getstring("

errorcode

");//

定義乙個字串,其值為根據json物件中的資料名解析出的其所對應的值

string errormsg = root.getstring("

errormsg");

system.

out.println("

errorcode=

" + errorcode + "

;errormsg=

" +errormsg);

jsonarray dataarr = root.getjsonarray("

data

");//

根據json物件中陣列的名字解析出其所對應的值

system.out

.println(dataarr);

//對解析出的陣列進行遍歷

for (int i = 0; i < dataarr.size(); i++)

}public

static

void

main(string args)

}

其列印輸出結果為:

errorcode=0;errormsg=呼叫介面成功

張文哲student

以上這種解析json物件的方法較為麻煩,**較多且複雜。可以利用

j**a

的反射機制通過把

json

物件解析成實體類物件的方式來解析

json

。首先這裡有兩個實體類:

package com.json;

import j**a.util.arraylist;

import j**a.util.list;

public

class

rootentity

public

void

seterrorcode(string errorcode)

public

string geterrormsg()

public

void

seterrormsg(string errormsg)

public listgetdata()

public

void setdata(listdata)

}

package com.json;

public

class

userentity

public

void

setusername(string username)

public

string getposition()

public

void

setposition(string position)

}

解析json字串的**:

package com.json;

import j**a.util.arraylist;

import j**a.util.hashmap;

import j**a.util.list;

import j**a.util.map;

import com.alibaba.fastjson.jsonarray;

import com.alibaba.fastjson.jsonobject;

public

class

jsontest ]}";

rootentity rootentity = new jsonobject().parseobject(jsonstr,rootentity.class);//

將json字串轉換成json物件,並通過j**a的反射機制建立相應的例項

system.

out.println(rootentity.geterrorcode());

system.

out.println(rootentity.geterrormsg());

system.

out.println(rootentity.getdata());

}public

static

void

main(string args)

}

其執行結果如下:

0呼叫介面成功

[com.json.userentity@3f78807]

但是使用這種方法解析json字串時一定要注意:

所對應的類的屬性名稱和

json

資料格式中的資料屬性名稱一定要保持一致(原因:其使用了

j**a

反射機制)

C 中的json格式字串解析

如題,根據json字串的難易程度,c 提供的對應解析方法也不同,現做簡單的歸類總結 string meetinginfo jsonreader reader new jsontextreader new stringreader meetinginfo while reader.read strin...

json字串格式

res.write 前端轉化 fetch json config then response then data 發現前端報錯 uncaught in promise syntaxerror unexpected token in json at position 1 我乙個以為是fetch沒有配置...

JSON字串解析

一 json物件 js可以按以下方式定義物件 varobj 這樣就定義了物件 obj,它有兩個公共屬性id和name,可以用 obj.id 的方式直接訪問其屬性值。從伺服器獲取資料時往往不止乙個物件,這就需要用到物件陣列,js中物件陣列可以用 來定義,如下 varobjs alert objs 0 ...