Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中获取部分httpResponse_Java_Json - Fatal编程技术网

如何在java中获取部分httpResponse

如何在java中获取部分httpResponse,java,json,Java,Json,在我完成HttpGet之后,我只想从httpResponse获取ID 这是我的代码: HttpClient httpClient = new DefaultHttpClient(); HttpGet httpGet = new HttpGet("http://localhost:80/api/"); HttpResponse httpResponse = httpClient.execute(httpGet); System.out.println(httpResponse); Buffere

在我完成HttpGet之后,我只想从httpResponse获取ID

这是我的代码:

HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://localhost:80/api/");

HttpResponse httpResponse = httpClient.execute(httpGet);
System.out.println(httpResponse);
BufferedReader rd = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent()));

String line = "";
while ((line = rd.readLine()) != null) {
  System.out.println(line);
}
其中返回以下内容:

{"list":[{"timestamp":{"$date":"2014-08-01T08:37:54.058Z"},"nameGroup":false,"_id":{"$oid":"53db5045ccf2b2399e0e6128"},"created":{"$date":"2014-08-01T08:31:01.139Z"}],"name":"John"}]}
但我只是不想知道全部。有什么想法吗

感谢使用or,您可以解析响应JSON并获得所需的部分

如果您不需要整个结果,那么创建引用对象就没有意义了,只需手动遍历json文档即可

mapper.readTree(responseText).get("foo").get("bar")

您得到的Strint是json编码的数据,因此需要对其进行解码,然后才能访问字段“oid”。有几个图书馆可以完成这项工作:

  • 格森
  • JsonSimple
  • 杰克逊等

我最喜欢的小型项目是

我认为,如果您有其他可用选项,则不适合使用库来获取一个参数的值。我建议您自己使用提供的API解析json。您可以尝试以下操作:

try {

JSONObject obj = new JSONObject(your_json_string);
String value= null; 

if (obj != null && obj.has(YOUR_KEY_FOR_PARAM)) {
                value = obj.getString(YOUR_KEY_FOR_PARAM));
} 
}

可能重复的您确定回复与您发布的完全相同吗?它不是有效的JSON。@Tichodroma:我修剪了原始返回的JSON,因为它太大了。但是它是一个有效的JSon,所以我应该修剪“rd”变量,它是一个JSon?不,它不是有效的JSon。请在测试