首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JsonReader读取json

使用JsonReader读取json
EN

Stack Overflow用户
提问于 2015-03-27 23:18:15
回答 1查看 548关注 0票数 0

我正试着用JsonReader来阅读json!一旦我打电话给reader.beginArray(),我就会得到:

java.lang.IllegalStateException:预期的BEGIN_ARRAY,但是字符串。

这是json网址:

http://www.metlink.org.nz/stop/nearbystopdata?lat=-41.278407655948&lng=174.77938892631

代码语言:javascript
复制
    @Override
    protected String doInBackground(String... urls) {

        String result = "";
        String url="http://www.metlink.org.nz/stop/nearbystopdata?lat=-41.278407655948&lng=174.77938892631";

        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);
        try {

            HttpResponse response = httpclient.execute(httppost);
            InputStream  in=response.getEntity().getContent();

            JsonReader reader ;

            reader= new JsonReader(new InputStreamReader(in, "UTF-8"));
            reader.setLenient(true);


             try {
                 listData=(ArrayList<DivanData>) readMessagesArray(reader);
             }
             finally {
               reader.close();
             }





        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return result;
    }


      public ArrayList<DivanData> readMessagesArray(JsonReader reader) throws IOException {
             ArrayList<DivanData> messages = new ArrayList();

             try {
                 reader.beginArray();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
             while (reader.hasNext()) {
               messages.add(readMessage(reader));
             }
             reader.endArray();
             return messages;
           }

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2015-09-28 05:26:22

既然您有包含内容的html,那么为什么不尝试使用json (http://jsoup.org/)将json作为字符串从html中获取。它非常简单,需要更少的代码:

代码语言:javascript
复制
    Document d;
    String url="your_url";
    d = Jsoup.connect(url).get();
    Element p = d.select("body p").first(); // fetch from p tag content
    String jsonString = p.text();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29311709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档