android如何接收 JSONArray

标签: json URL Android
发布时间: 2017/3/4 5:27:03
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

以下指南看这︰

  JsonArrayRequest movieReq = new JsonArrayRequest(URL,
            new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray response) {

                    // Parsing json
                    for (int i = 0; i < response.length(); i++) {
                        try {

                            JSONObject obj = response.getJSONObject(i);
                            Movie movie = new Movie();
                            movie.setTitle(obj.getString("nome_stanza"));
                            movie.setThumbnailUrl(obj.getString("icona"));

                            movieList.add(movie);

                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                    adapter.notifyDataSetChanged();
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {


        }
    });
  AppController2.getInstance().addToRequestQueue(movieReq); //i need this movieReq

但是我没有 URL 在哪里配置了 Jsoncode,我收到 jsoncode 的另一种方法,给了我这样一个字符串︰

{"risposta_server": [{"nome_stanza":"via oslavia"},{"icona":"http:\/\/****.**.**.**\/fil***\/****\/images\/icon\/icon2.png"},{"Admin":"s"}]}

那么,如何可以更改要使用这一结果的第一个代码?

解决方法 1:

我已经弄混了的响应,但我明白,据说来 Json Object 。下一步︰

JSONOArray array = response.getJSONArrary("risposta_server");
for (int i = 0; i < array.length(); i++) {
   try {
       JSONObject obj = array.getJSONObject(i);
       Movie movie = new Movie();
        if(i == 0){
          movie.setTitle(obj.getString("nome_stanza"));
        }else if(i == 1){
           movie.setThumbnailUrl(obj.getString("icona"));
        }
        movieList.add(movie);
    } catch (JSONException e) {
             e.printStackTrace();
    }
 }
 ...

如果我误解了,看看这份工作。

赞助商