2 clcurie 11 clcurie_11 于 2013.07.17 17:55 提问

Android - json 解析的问题

我有如下的 JSON:

{
        "places": [{
            "name": "Ankola",
            "slug": "ankola",
            "category": "beach",
            "distance": "521",
            "travel_time": "8 hrs, 2 mins",
            "days": "3",
            "latitude": "14.669456",
            "longitude": "74.300952",
            "weather": "Summer 21\u00b0-36\u00b0C, Winter 12\u00b0-35\u00b0C",
            "todo": "Baskal gudda, Nadibag, Shedikuli, Keni, Belekeri",
            "about": "Ankola is a small town surrounded by numerous temples. It is in line with Arabian sea. Ankola is famous for its native breed of mango called ishaad and for cashews harvesting.",
           "image": [
                     "Cm5NXlq.jpg",
                     "9OrlQ9C.jpg",
                     "DRWZakh.jpg",
                     "dFKVgXA.jpg",
                     "5WO2nDf.jpg"
                     ]
        }]
}

我知道如何获取关键值- value pairs,但是我不知道如何在json中解析数组,再形成一个字符串数组。
我想实现的是,例如,我在 "image" tag下有5个图像名,我想让它们在一个字符串数组中,如何实现?

2个回答

cj6585256
cj6585256   2013.07.17 17:59

先把整的弄成一个JsonObject jo = new JsonObject(你获取的内容);
JsonArray ja = jo.optJsonArray("image");
后面再for循环

Jave_
Jave_   2013.07.18 09:46

楼上拼错了 =-=
完整的代码:

        try {
            JSONObject jsonObject = new JSONObject(json);
            JSONArray jsonArray = jsonObject.getJSONArray("places");
            for (int i = 0, l = jsonArray.length(); i < l; i++) {
                JSONObject jsonObject2 = jsonArray.getJSONObject(i);
                JSONArray ja = jsonObject2.optJSONArray("image");
                String[] img = new String[5];
                for (int j = 0, k = ja.length(); j < k; j++) {
                    img[i] = ja.get(i).toString();
                    Log.v("", "" + img[i]);
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
【Android】混淆导致json解析出错
Android Strudio推出Gson Format插件以后,Gson Format可以为开发者创建我们的json文件对应的java对象模板,这使得Json解析显得特别简单,大大降低了编程人员的时间成本。但是一不小心就会出现这样的问题: 在debug状态编译的时候程序按照我们设想的去解析数据,但是切换到release打包生成的app却解析得到错误的json 其实是因为在打release包的时
gson递归解析json数据
直接用api文档中的例子来说明: json数据: [{"id": 912345678901,"text": "How do I read JSON on Android?","geo": null,"user": {"name": "android_newb","followers_count": 41}},{"id": 912345678902,"text": "@android_newb
Gson库和Android自带JSON解析对转义字符的处理存在不同
遇到一坑,以前用的是Gson库,现在改为Android自带的JSON解析,后端收到数据有时会解析失败,查找原因,发现Gson库和Android自带JSON解析对转义字符的处理存在稍许的不同。举例如下:String s1 = "https://blog.csdn.net/robotech_er/article/details/40260377"; String s2 = "host is \"www.
android json读取
android json 的解析 json简单字符串的设置
Android 的 JSON解析源码
Android JSON解析
Android处理错误json数据
此前一直都没遇到也一直相信服务端返回的json数据基本是正确的,直到我们的android端一直崩溃,并在友盟上查到一直报如下的错误: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
Json数据解析
Android json 解析
jsontoobject
json 生成 解析 , ios ,android ,json , object to json
Android解析——json解析为javabean
Android解析——json解析为javabean
android之json解析
android的json解析,三种解析方式