Gson 解析複雜json字串

2021-07-07 05:45:01 字數 2096 閱讀 8438

對gson不了解的同學可以先去了解下gson的基本用法

需要解析的json字串如下: ,]},"result":"ok"}

先貼上解析json字串的**:

public responsedataprovidernetprovicelistdata(string result) .gettype());

string resultcode = basenetdata.getresult();

if (null != resultcode && !textutils.isempty(resultcode))

// redscs

else if (resultcode.equals("no_data")) else if (resultcode.equalsignorecase("exception")) else if (resultcode.equalsignorecase(invalid_token)) else

} else

return responsedata;

}

首先我們定義了乙個資料bean用來裝載gson解析出來的資料:

public class responsedata

public void setstatuscode(int statuscode)

public responseentitygetresponseentity()

public void setresponseentity(responseentityresponseentity)

}

此類將所有的返回分成返回碼statuscode和返回的實體responseentity兩個部分。

然後定義了乙個針對上述基本bean的實體的bean,

public class responseentity

public void setfailuremsg(string failuremsg)

public t getsuccessentity()

public void setsuccessentity(t successentity)

public int gettotalcount()

public void settotalcount(int totalcount)

public listgetsuccesslist()

public void setsuccesslist(listsuccesslist)

}

這個bean中有四個屬性,分別為:當返回的資料格式為json物件的時候的successentity ,錯誤資訊failuremsg,返回資料格式為jsonarray的successlist 以及jsonarray的長度。

下面針對具體的返回定義了乙個基礎bean:

public class basenetdata

public t getdata()

public void setresult(string result)

public void setdata(t data)

}

針對,]},"result":"ok"}   。  此類中的result屬性對應json字串中的「result」, data對應著「data」 。(一定保證欄位名字的一致)。

然後對於,]} ,使用如下:

public class basenetlistdata

public listgetdata()

public void settotal(int total)

public void setdata(listdata)

}

如果返回不是jsonarray而是jsonobject,則

public class basenetentitydata

public void setdata(t data)

}

通過以上的封裝我們可以根據伺服器的返回型別來調整自己的資料bean,從而實現**的復用。。。。。。

Gson解析json字串

解析傳遞過來的json字串 jsonparser parser new jsonparser jsonobject jsonobj parser.parse strjson getasjsonobject mapmap new hashmap map.put key01 jsonobj.get ke...

使用Gson解析Json字串(實際專案)

見另一篇博文如何準備好jar包 需要轉的json字串很複雜,多層巢狀 例如 datalist task 首先熟悉要使用的gson的重要類 包com.google.gson 中的jsonparser類 parser中文含義就是解析 其中 方法 public jsonelement parse stri...

Gson解析複雜的json資料

詳情參考 要解析的資料檔案如下 string json c 解析 如下 public class jsonbean public static class c 這裡面需要注意幾點 1 內部巢狀的類必須是static的,要不然解析會出錯 2 類裡面的屬性名必須跟json欄位裡面的key是一模一樣的 3...