我是java的新手我使用GSon json解析器。我有一个从服务器发送和接收json数据的类。 要解析json响应,请执行以下操作:
strResult = new String(readBytes());
JsonIspResponse<JsonIspUtmInfo> res2;
Type type = (Type) new TypeToken<JsonIspResponse<JsonIspUtmInfo>>() {}.getType();
res2 = gs.fromJson(strResult, type);
与GSON文档一样...
我需要制作一个可以做到这一点的方法(getResponse):
JsonIspResponse<JsonIspUtmInfo> res2 = getResponse(request, JsonIspResponse<JsonIspUtmInfo>);
我该怎么做
答案 0 :(得分:0)
你采取了一种复杂的方式。 使用
JSONObject mJSONData = new JSONObject();
像这样逐个取值:
data = mJSONData.optJSONObject("JSON_OBJECT_NAME");
答案 1 :(得分:0)
我现在无法对其进行测试,但请尝试以下几点:
T getResponse(String request, TypeToken<T> typeToken) {
return (T) gs.fromJson(request, (Type) typeToken.getType());
}
// Usage
JsonIspResponse<JsonIspUtmInfo> res2 = getResponse(request,
new TypeToken<JsonIspResponse<JsonIspUtmInfo>>() {});