1

我正在尝试从流式 URL 使用 JSON 数据

代码片段如下

   HttpClient httpclient = new DefaultHttpClient();
   HttpResponse response = httpclient.execute(new HttpGet(url));

   if(response.getEntity().isStreaming() ){
     while (true) {
       BufferedHttpEntity _entity = new BufferedHttpEntity(response.getEntity());
       InputStream _stream = _entity.getContent();
       JSONObject _interaction = new JSONObject(_stream.toString());
       System.out.println(_interaction.toString());
    }
}

请指导我在没有任何外部库的情况下使用它

提前致谢

4

3 回答 3

0

您可以使用 DataContractJsonSerializer 在此处查看更多信息:http: //msdn.microsoft.com/en-us/library/bb412179.aspx

于 2013-03-19T07:35:11.563 回答
0

我不知道“没有外部库”是什么意思,因为没有它有点难。

google 模块 gson ( http://code.google.com/p/google-gson/ ) 非常易于使用:

String jsonString = "your json string";
Gson gson = new Gson();
YourClass obj = gson.fromJson(jsonString, YourClass.class);
于 2013-03-19T09:02:48.390 回答
0

使用缓冲阅读器破解它

        HttpClient httpclient = new 
        HttpResponse response = httpclient.execute(new HttpGet(url));

        if(response.getEntity().isStreaming() ){
                HttpEntity _entity = response.getEntity();
                BufferedReader reader = new BufferedReader(new InputStreamReader(_entity.getContent(),"utf-8"),8);
                String line = null;
                while ((line = reader.readLine()) != null) {
                    System.out.println( line.toString());
                }
                _entity.getContent().close();                   
        }

这解决了我的问题。

于 2013-03-20T02:40:18.277 回答