循环只通过我的部分JSON

时间:2014-05-15 22:17:12

标签: android json google-maps

我有一个android地图,它应该显示从JSON解析的标记。我的循环正在工作并解析JSON,但它只解析前六个项目,然后它停止并停止解析或不在我的谷歌地图上显示标记。

我的JSON请求正在返回此JSON:

https://gist.github.com/anonymous/02e2b88c4de8ac2fe732

(链接它所以我没有填写这个问题的所有字符)

我的异步任务是解析JSON并将标记添加到我的地图中:

protected void onPostExecute(String result){
        //decode json here
        try{
            JSONArray jsonArray = new JSONArray(result);

            LatLngBounds.Builder b = new LatLngBounds.Builder();


            for(int i = 0; i < jsonArray.length(); i++) {

                String breweryName = jsonArray.getJSONObject(i).getString("brewery");
                String lat = jsonArray.getJSONObject(i).getString("lat");
                String lng = jsonArray.getJSONObject(i).getString("lng");
                String bID = jsonArray.getJSONObject(i).getString("breweryID");

                double latD = Double.parseDouble(lat);
                double lngD = Double.parseDouble(lng);



                m.addMarker(new MarkerOptions()
                        .position(new LatLng(latD, lngD))
                        .title(breweryName));

                b.include(new LatLng(latD, lngD));


            }

            LatLngBounds bounds = b.build();
            //Change the padding as per needed
            CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, 25, 25, 5);
            m.animateCamera(cu);





        }
        catch(Exception e){

        }

        Dialog.dismiss();

    }

更新:

我知道它可能搞砸了我的JSON中的一个名字或值。添加标记或其他东西。基本上它打破了循环并停止了异步任务的其余部分。我在循环之后放了一个吐司,它没有到达它。

1 个答案:

答案 0 :(得分:1)

输入错误。这条记录

{
    "brewery": "Ayinger Brewery",
    "lat": "",
    "lng": "",
    "breweryID": "QKdFk2"
},

缺少lat和lng值,导致Double.parseDouble()失败。

在catch中打印异常的堆栈跟踪将有助于调试它。