json解析数组

来源:互联网 发布:nginx url 跳转 编辑:程序博客网 时间:2024/05/16 10:45
1.在Android中包含四个与JSON相关的类和一个Exceptions:

        a.JSONObject

        这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value)数值。

       b.JSONArray

       它代表一组有序的数值。将其转换为String输出(toString)所表现的形式是用方括号包裹,数值以逗号”,”分隔(例如:[value1,value2,value3]

        c.JSONStringer

        这个类可以帮助快速和便捷的创建JSONtext。其最大的优点在于可以减少由于格式的错误导致程序异常,引用这个类可以自动严格按照JSON语法规则(syntaxrules)创建JSON text。每个JSONStringer实体只能对应创建一个JSON text。

2.解析:

(1)解析object对象:

   示例一:

               String jsonString ={"url":"http://www.cnblogs.com/qianxudetianxia"};

              解析方法:

              JSONObject demoJson = new JSONObject(jsonString);
              String url = demoJson.getString("url");

   示例二:

              String jsonString ={"name":"android"," version":"Beta1.0"};
             解析方法:
             JSONObject demoJson = new JSONObject(jsonString);
             String name = demoJson.getString("name");
             String version = demoJson.getString("version");
             System.out.println("name:"+name+",version:"+version);

(2)解析Array

示例一:

           String jsonString ={"number":[1,2,3]};

          解析方法:
          JSONObject demoJson = new JSONObject(jsonString);
          JSONArray numberList = demoJson.getJSONArray("number");
          for(int i=0; i<numberList.length(); i++){
                //因为数组中的类型为int,所以为getInt,其他getString,getLong同用
                System.out.println(numberList.getInt(i));
            }

示例二:外层object内层array,先解析object后解析数组

           String jsonString ={"mobile":[{"name":"android"},{"name":"iphone"}]};
           解析方法:
          JSONObject demoJson = new JSONObject(jsonString);
          JSONArray numberList = demoJson.getJSONArray("mobile");
          for(int i=0; i<numberList.length(); i++){
                System.out.println(numberList.getJSONObject(i).getString("name"));

         }

0 0
原创粉丝点击