android 序列化 json,android 读取json 为什么不直接反序列化
我們平時(shí)寫(xiě)的bean類(lèi),這個(gè)是指定規(guī)則的序列化對(duì)象,虛擬機(jī)認(rèn)得,你說(shuō)用json反序列化獲取對(duì)象,這個(gè)規(guī)則是后臺(tái)定的,虛擬機(jī)如何認(rèn)得?
而且你說(shuō)的,很多人一直遍歷json字符串,然后一個(gè)字段一個(gè)字段的封裝,超級(jí)麻煩,我也不知道他們?yōu)槭裁催@么做?不管是解析成object對(duì)象還是list數(shù)據(jù),我都有自己封裝的工具,就兩三行代碼.
如下:
private static Gson sGson;
public static Gson getGson() {
if (null == sGson) {
sGson = new Gson();
}
return sGson;
}
/**
* 將json字符串轉(zhuǎn)換成一個(gè)對(duì)象
*
* @param jsonStr json字符串
* @param field 字段名
* @param clazz 字節(jié)碼
* @param 類(lèi)型
* @return
*/
public static T getObject(String jsonStr, String field, Class clazz) {
JSONObject jsonObject = getJSONObject(jsonStr);
T t = getGson().fromJson(jsonObject.optString(field), clazz);
return t;
}
/**
* 將json字符串轉(zhuǎn)換成list數(shù)據(jù)
*
* @param json
* @param clazz
* @param
* @return
*/
public static List getList(String json, Class clazz) {
List list = null;
list = JSON.parseArray(json, clazz);
return list;
}
/**
* 將json字符串轉(zhuǎn)換成jsonObject
*
* @param jsonStr
* @return
*/
public static JSONObject getJSONObject(String jsonStr) {
JSONObject mJson = new JSONObject();
try {
mJson = new JSONObject(jsonStr);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return mJson;
}
這個(gè)是我個(gè)人的理解,也沒(méi)有權(quán)威的認(rèn)證過(guò).
總結(jié)
以上是生活随笔為你收集整理的android 序列化 json,android 读取json 为什么不直接反序列化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android 代码签名apk,[And
- 下一篇: 2021河北省高考成绩查询步骤,河北省2