この関数は、HttpResponse オブジェクトの形式で URL からデータを取得するために使用されます。
public HttpResponse getRespose(String url, String your_auth_code){
HttpClient client = new DefaultHttpClient();
HttpPost postForGetMethod = new HttpPost(url);
postForGetMethod.addHeader("Content-type", "Application/JSON");
postForGetMethod.addHeader("Authorization", your_auth_code);
return client.execute(postForGetMethod);
}
上記の関数はここで呼び出され、Apache ライブラリ クラスを使用して JSON の文字列形式を受け取ります。次のステートメントでは、受け取った json から単純な pojo を作成しようとします。
String jsonString =
EntityUtils.toString(getResponse("http://echo.jsontest.com/title/ipsum/content/ blah","Your_auth_if_you_need_one").getEntity(), "UTF-8");
final GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(JsonJavaModel .class, new CustomJsonDeserialiser());
final Gson gson = gsonBuilder.create();
JsonElement json = new JsonParser().parse(jsonString);
JsonJavaModel pojoModel = gson.fromJson(
jsonElementForJavaObject, JsonJavaModel.class);
これは、着信 json 用の単純な Java モデル クラスです。public class JsonJavaModel{ 文字列の内容。文字列のタイトル。これはカスタム デシリアライザーです。
public class CustomJsonDeserialiserimplements JsonDeserializer<JsonJavaModel> {
@Override
public JsonJavaModel deserialize(JsonElement json, Type type,
JsonDeserializationContext arg2) throws JsonParseException {
final JsonJavaModel jsonJavaModel= new JsonJavaModel();
JsonObject object = json.getAsJsonObject();
try {
jsonJavaModel.content = object.get("Content").getAsString()
jsonJavaModel.title = object.get("Title").getAsString()
} catch (Exception e) {
e.printStackTrace();
}
return jsonJavaModel;
}
Gson ライブラリと org.apache.http.util.EntityUtils を含めます。