我的模型GSON解析JSON數據是這樣的:與Android
public class DefaultModel<T> {
public int Status;
public T JSON;
public String ErrorMessage;
public String InfoMessage;
}
JSON的字體樣式
{"ErrorMessage":"null","InfoMessage":"null","JSON":
[{"DictId":"1","ItemCode":"1","ItemName":"sINGLE","SortNum":0,"
isChecked":true},{"ItemName":"WenJackp","SortNum":0,"isChecked":false}]
,"Status":100}
我想解析此JSON,但GSON拋出異常
com.google.gson.internal.LinkedTreeMap無法轉換爲 xxxxx.DictItem
如何解析?
增加更多的細節,我用這個方法解析JSON數據:
創建ParameterizedType,你會看到buildType方法
ParameterizedType mType = buildType(DefaultModel.class, ArrayList.class, DictItem.class);
解析JSON數據
DefaultModel<List<DictItem>> mResult = mGson.fromJson(json, mType);
創造新ParameterizedType
protected ParameterizedType buildType(final Class raw, final Type... args) { return new ParameterizedType() { public Type getRawType() { return raw; } public Type[] getActualTypeArguments() { return args; } public Type getOwnerType() { return null; } }; }
以上是我處理由使用JSON解析方法,我想用Default<List<DictItem>>
這種類型,T == List<DictItem>
下面註解它們是一個例子http://thegeekyland.blogspot.com/2015/11/serializing-and- deserializing-json-from.html – Arlind