如何从返回的HttpResponse中获取特定值

时间:2014-04-27 10:32:01

标签: java android json api http

我正在使用api获取httpresponse但是如何从该响应中获取特定字段?返回的示例响应如下:

{"test": {
   "id": 179512,
   "name": "Test",
   "IconId": 606,
   "revisionDate": 139844341200,
   "Level": 20
}}

例如,我只想要id字段。

            HttpClient client = new DefaultHttpClient();
            String getURL = url;
            HttpGet get = new HttpGet(getURL);
            HttpResponse responseGet = null;
            try {
                responseGet = client.execute(get);
                HttpEntity resEntityGet = responseGet.getEntity();
                response = EntityUtils.toString(resEntityGet);
                Log.e("deneme", response);
                return response;
            } catch (Exception e) {
                e.printStackTrace();
            }

2 个答案:

答案 0 :(得分:1)

不幸的是,它取决于API如何返回它的数据,你应该问的是我将如何解析这些数据,对我来说这是静态类型语言的痛苦之一。

我个人在我的所有项目中使用杰克逊来解析json,主要是因为它与spring一起玩得很好。

以下是使用Jackson

尝试完成的一个非常简单的示例

http://www.mkyong.com/java/jackson-tree-model-example/

答案 1 :(得分:0)

您熟悉解析的含义吗?

解析基本上是采用这样的数据(通常是长字符串)并将其转换为实际可以使用的数据,或者至少使用起来更容易。

你可以自己做...但除非你正在学习,否则这是一件非常讨厌的事情。

您正在使用JSON内容类型。您可以使用许多Java JSON解析器库。我最喜欢的是GSON,但它需要一点编码。你可能最好只使用常规的json库。转到http://json.org/并滚动到底部以查找可以使用的百万个库。