MyJsonObject代表什麼,在下面這段代碼裡面。麻煩給看一下,謝謝
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpget = new HttpGet("http://localhost/json");
ResponseHandler<MyJsonObject> rh = new ResponseHandler<MyJsonObject>() {
@Override
public JsonObject handleResponse(
final HttpResponse response) throws IOException {
StatusLine statusLine = response.getStatusLine();
HttpEntity entity = response.getEntity();
if (statusLine.getStatusCode() >= 300) {
throw new HttpResponseException(
statusLine.getStatusCode(),
statusLine.getReasonPhrase());
}
if (entity == null) {
throw new ClientProtocolException("Response contains no content");
}
Gson gson = new GsonBuilder().create();
ContentType contentType = ContentType.getOrDefault(entity);
Charset charset = contentType.getCharset();
Reader reader = new InputStreamReader(entity.getContent(), charset);
return gson.fromJson(reader, MyJsonObject.class);
}
};
MyJsonObject myjson = client.execute(httpget, rh);
從倒數第四行代碼 :return gson.fromJson(reader, MyJsonObject.class); 可以判斷MyJsonObject.class的性質
Gson是google的一個Json庫,使用非常簡單。在Java中,只要引入包,創建對象就可以用了。
fromJson是Gson提供的一個方法。用來將一個Json數據轉換為對象。調用方法是:new Gson().fromJson(Json_string,class);
這裡的MyJsonObject.class應該是自定義的一個類,使用Gson就可以直接j將JSON數據封裝成這個自定義的類直接使用,不用再手動解析Json裡的每一行數據。