注:以下的總結均是引入的jar包fastjson,例子:
string test=",]}}";
1.將string型別轉換為jsonobject物件
jsonobject object=json.parseobject("test");
獲取json資料內容,即,]}
jsonobject json = (jsonobject) object.get("respon");
2.最簡單的解析是json格式也為最簡單的key-value形式
此時只需json.getstring(key值),如獲取api,只需json.getstring(api);
3.但是很多json都是json陣列和json物件一起的,而且存在很多key值,此時我們需要解析時與實體類對應,因為會去填充相同名稱的屬性。注:在與實體類對應時,如果實體類中有的屬性而json字串沒有的,會預設為null,如果json字串中有而實體類中沒有的,不做處理。
①json物件的:使用jsonobject.parseobject
如首先建立乙個實體類apimodel,內含屬性api,首先獲取api的值:
string apistr=json.getstring("api");
與實體類對應:
apimodel a=jsonobject.parseobject(apistr,apimodel.class);
②json陣列的:使用jsonarray.parsearray(返回list)
如首先建立乙個實體類argsmodel,內含屬性獲取jsonarray陣列
jsonarray specialcatearray = json.getjsonarray("args");
與實體類對應:
listargslist=new arraylist();
argslist=jsonarray.parsearray(specialcatearray.tojsonstring(),argsmodel.class);
4.還有一種情況是,key和value值比較多,我們只想按照key-value的方式解析存表,或是不知道key值的情況,也就是單獨獲取json字串中的key值或value值
比如以上例子僅解析為args=[,],api=2.1
set> entryset=json.entryset();
for(entryentry:entryset)
注:此文章是本人學習的一點小筆記和總結,若發現有問題歡迎指出,謝謝~ java解析json格式資料
有時候可能會用到json格式進行資料的傳輸,那麼怎麼把接收到的資料解析出來呢?下面介紹兩種解析json資料的方法 1 通過谷歌的gson來進行解析 json資料 stotalstring 兩個vo類 public classsurveyvo public void setmessage string...
解析 JSON 格式資料
比起 xml,json的主要優勢在於它的體積更小,在網路上傳輸的時候可以更省流量。但缺點在於,它的語義性較差,看起來不如xml 直觀。我們還需要在c apache apache2 htdocs目錄中新建乙個 get data.json 的 檔案,然後編輯這個檔案,並加入如下 json 格式的內容 修...
解析json格式的資料
一 本程式是從客戶端傳送請求到伺服器,伺服器返回josn格式的資料,客戶端進行解析並展示。二 public class mainactivity extends activity private final static string path protected static final int ...