Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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 HTTP GET解码输入流_Java_Android_Http_Get_Inputstream - Fatal编程技术网

为Java HTTP GET解码输入流

为Java HTTP GET解码输入流,java,android,http,get,inputstream,Java,Android,Http,Get,Inputstream,不熟悉JavaHTTP请求,并且无法确定如何解码输入流。这是一个简单的GET,因此根据这里的建议,我使用以下代码: public void setupIPCheck() throws IOException { URLConnection connection = new URL("http://freegeoip.net/json/").openConnection(); InputStream response = connection.getInputStream();

不熟悉JavaHTTP请求,并且无法确定如何解码输入流。这是一个简单的GET,因此根据这里的建议,我使用以下代码:

public void setupIPCheck() throws IOException {
    URLConnection connection = new URL("http://freegeoip.net/json/").openConnection();
    InputStream response = connection.getInputStream();
    Log.d("IPcheck", response.toString());
}
我期待一个JSON blob——我必须手动读取流中的每个字节吗?我是为android开发的,所以我不能使用IOUtils。

您可以使用从
输入流创建
JSONObject
,如下所示:
JSONObject obj=new JSONObject(new JSONTokener(connection.getInputStream())

首先,您需要决定要使用什么来解析JSON(根据URL猜测格式)。这将决定您是否可以将
InputStream
交给解析器,或者是否需要将数据转换为其他格式(例如,
String
)。您可以使用我计划用于从json(String)转到的org.json API()->对象,但我实际上只需要JSON中的一个字段,如果有更简单的方法从inputStream解析出单个字段,我愿意做一些不同的事情。