我正在从两个 URL 读取 JSON 数据,并使用 google GSON 将它们解析为我的两个自定义 java 对象。我需要帮助想出一个静态方法来使用 Gson 进行 JSON 到 Java 解析。理想情况下,如果它是单个返回类型,我会设法自己提出该方法,但由于返回类型将是两个不同的对象,我无法弄清楚。任何领先的技巧都会很棒。
问问题
107 次
2 回答
0
您可以使用 org.json 库:http ://mvnrepository.com/artifact/org.json/json/20090211
来自 Http 响应的示例 JSON:
{ "key":"value" }
获取的value
代码key
:
import org.apache.http.client.methods.HttpGet;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
HttpGet http = new HttpGet(url);
HttpResponse response = client.execute(http);
HttpEntity entity = response.getEntity();
// To parse the JSON response
// EntityUtils.toString(entity) is { "key":"value" }
JSONObject jsonObject = new JSONObject(EntityUtils.toString(entity));
String value = jsonObject.getString("key");
于 2013-08-05T01:11:26.370 回答
0
您可以使用以下方法读取两个网址。
public static <T> T fromJsonToJava(String jsonUrl, Class<T> type) throws IOException {
URL url = new URL(jsonUrl);
URLConnection conn = url.openConnection();
InputStream in = conn.getInputStream();
Reader reader = new InputStreamReader(in);
Gson gson = new Gson();
return gson.fromJson(reader, type);
}
于 2013-08-05T02:06:49.200 回答