1

我正在尝试使用以下方法解析我的 json:

for(int i = 0; i < json.getJSONArray("JSON").length(); i++) {
                String taste = json.getJSONArray("JSON").getJSONObject(i).getString("taste");
                String rate = json.getJSONArray("JSON").getJSONObject(i).getString("rate");
                int foo = Integer.parseInt(rate);
                count = count + foo;


                //create object
                BeerTastes tempTaste = new BeerTastes(taste, rate);

                //add to arraylist
                tasteList.add(tempTaste);

                Log.d("taste",tempTaste.taste);
                Log.d("number",tempTaste.percent);
            }

但是我最后的日志根本没有输出任何东西,所以我假设我没有正确解析我的 json。我正在查看的json是:

[{"taste":"Bitter","rate":"13"},{"taste":"Malty","rate":"3"},{"taste":"Smooth","rate":"3"},{"taste":"Dry","rate":"1"}]

我想我可能错了:

json.getJSONArray("JSON") 

因为我的数组没有名字,但我必须接受一个字符串......

4

1 回答 1

3

I find no 'JSON' in your JSON String.So i think you should write like this:

JSONArray jsonArray = new JSONArray(json);

then:

for(int i = 0; i < jsonArray.length(); i++) {
            String taste = jsonArray.getJSONObject(i).getString("taste");
            String rate = jsonArray.getJSONObject(i).getString("rate");
            int foo = Integer.parseInt(rate);
            count = count + foo;


            //create object
            BeerTastes tempTaste = new BeerTastes(taste, rate);

            //add to arraylist
            tasteList.add(tempTaste);

            Log.d("taste",tempTaste.taste);
            Log.d("number",tempTaste.percent);
        }
于 2013-06-27T00:59:08.730 回答