Android没有解析JSON数组

时间:2015-03-20 23:11:20

标签: android json parsing

我目前正在尝试在我的代码中解析JSON数组,但问题是它永远不会进入try块。

这是我的代码:

protected Void doInBackground(Void... arg0) {

        JsonParser jsonParser = new JsonParser();

        String json =  jsonParser.getJSONFromUrl("http://hills.ccsf.edu/~jpark41/ViB/sample.json");


        if(json != null) {

 Log.i("JSON: ", "NOT NULL"); // This log executes!!

            try
            {
                Log.i("we: ", " out here"); // This does not!!

                JSONObject jObj = new JSONObject(json);
                JSONArray jsar = new JSONArray(json);

                Iterator<String> iter = jObj.keys();
                while (iter.hasNext()) {
                    String key = iter.next();
                    try {
                        JSONObject value = (JSONObject)jObj.get(key);
                        id = value.getString("id");
                        thumb = value.getString("thumb");
                        media = value.getString("media");
                        title = value.getString("title");
                    } catch (JSONException e) {
                        // Something went wrong!
                    }
                    now_playing = id;
                    earned = title;

                }

            } catch (JSONException e) {
                Log.i("we NOT: ", " out here");
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        return null;
    }

&#34;我们在这里&#34;永远不会记录,只是&#34;我们不在这里&#34;。为什么try块永远不会执行?我没有太多使用android解析JSON的经验,所以我确定我只是遗漏了一些东西。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

当我注释掉JSONObject jObj = new JSONObject(json);并换出迭代器以获得基本的for循环。感谢大家的帮助。