我正在尝试在 android 上使用 google-http-java-client 并解析来自我的服务器的 JSON 响应。这样做我正在使用以下代码(由项目示例提供)
private static final HttpTransport HTTP_TRANSPORT = AndroidHttp.newCompatibleTransport();
private static final JsonFactory JSON_FACTORY = new JacksonFactory();
HttpRequestFactory requestFactory = HTTP_TRANSPORT
.createRequestFactory(new HttpRequestInitializer() {
@Override
public void initialize(HttpRequest request) {
request.setParser(new JsonObjectParser(JSON_FACTORY));
}
});
HttpRequest request = requestFactory.buildGetRequest(new GenericUrl(url + paramsList));
HttpResponse response = request.execute();
并且一切都适用于新对象
result = response.parseAs(PxUser.class);
但我需要使用 json 字符串中的数据更新现有对象。只有杰克逊我可以使用以下代码,但使用谷歌客户端我找不到任何解决方案。
InputStream in = -get-http-reponse-
ObjectMapper mapper = new ObjectMapper();
ObjectReader reader = mapper.readerForUpdating(MySingleton.getInstance());
reader.readValue(InputStream in);
所以我需要一种方法来更新现有对象,就像这个杰克逊示例一样,但使用客户端。
有办法吗?我必须使用 jackson-databind.jar 吗?我怎样才能做到这一点?提前致谢
PS:如果需要我可以切换到gson,没问题