JSON解析详解-创新互联

1  简单的一个  { ,,,,}

成都网络公司-成都网站建设公司创新互联建站10多年经验成就非凡,专业从事成都网站建设、做网站,成都网页设计,成都网页制作,软文营销广告投放平台等。10多年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:13518219792,我们期待您的来电!

2  里面有数组 { , [{,,},{,,}],}

3 直接一个数组

4 数组里有数组

5 其他情况? 没有吧,除非json格式不规范

Android的SDK中包含四个与JSON相关的类和一个Exceptions:JSONArray、JSONObject、JSONStringer、JSONTokener、JSONException。通过这5个类我们就可以自行对Json进行解析(使用很简单,可以网上搜索使用方法或者参照Android SDK),另外Google在Android的SDK中放入了JsonReader和JsonWriter来方便我们读写Json。

//最简单 的 直接一个对象

// {"username":"zms",age:23,"addr","from china"};
     String json="{\"username\":\"zms\",\"age\":43,\"addr\":\"江西省高安市村前镇\"}";
        JSONObject jsonObject2 =new JSONObject(json);
         str="名字:"+jsonObject2.getString("username")+"年薪:"+jsonObject2.getString("age")+jsonObject2.getString("addr")+"\n";

//对象里有数组

//{"username":"zms",age:11,"jicheng":[{"zhengshu":"PMP","date":"2011年"},{"zhengshu":"信息系统项目管理师","date","2012年"}],"addr":"江西"}
     // 这种也属于 对象里有数组   {"json":[{"username":"zms","date":"2011年"},{"username":"ivy","date","2012年"}]}
String json= "{\"username\":\"张木生\",age:11,\"jicheng\":[{\"zhengshu\":\"PMP\",\"date\":\"2011年\"},{\"zhengshu\":\"信息系统项目管理师\",\"date\":\"2012年\"}],\"addr\":\"江西\"}";

            JSONObject jsonObject2 =new JSONObject(json);
         str="名字:"+jsonObject2.getString("username");
         str=str+"工龄:"+jsonObject2.getString("age")+"证书:";
         JSONArray jsonArray = jsonObject2.getJSONArray("jicheng");
         for (int i=0;i         {
          JSONObject jsonObjectSon= (JSONObject)jsonArray.opt(i);
          str=str+jsonObjectSon.getString("zhengshu")+"年份:"+jsonObjectSon.getString("date");
         }
         str=str+"籍贯"+jsonObject2.getString("addr");
          txt1.setText(str);
         Log.v("zms", str);

//直接一个数组

str="";
    //  返回的字符串 直接是个数组
    // [{"devid":"1234567800","latitude":"29.4963","longitude":"116.189"},{"devid":"1234567832","latitude":"29.4943","longitude":"1161.129"}]
 String json="[{\"devid\":\"1234567800\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"devid\":\"1234567832\",\"latitude\":\"29.4943\",\"longitude\":\"1161.129\"}]";
     try {
      JSONArray jsonArray = new JSONArray(json);
      for (int i=0;i      {
         JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
    str=str+"第"+i+"个,devid:"+jsonObject2.getString("devid")+"维度:"+jsonObject2.getString("latitude")+"经度:"+jsonObject2.getString("longitude")+"\n";

      }

//数组里有数组

String json="["+
               "{\"devid\":\"1234567800\",\"gps\":[{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\" }],\"devname\":\"赣01\"},"+
               " {\"devid\":\"1234567800\",\"gps\":[{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\" }],\"devname\":\"赣92\"},"+
               " {\"devid\":\"1234567800\",\"gps\":[{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\"},{\"time\":\"2014-11-12\",\"latitude\":\"29.4963\",\"longitude\":\"116.189\" }],\"devname\":\"赣43\"}"+
               "]";
       try {
        JSONArray jsonArray = new JSONArray(json);
        for (int i=0;i        {
          String tpstr="";
           JSONObject jsonObject5 = (JSONObject)jsonArray.opt(i);
           str=str+"第"+i+"条船,设备号devid:"+jsonObject5.getString("devid");
           JSONArray jsonArray5 = jsonObject5.getJSONArray("gps");
           for (int j=0;j           {
            JSONObject jsonOb5Son=(JSONObject)jsonArray5.opt(j);
             tpstr="采集时间:"+jsonOb5Son.getString("time")+"维度"+jsonOb5Son.getString("latitude")+"经度:"+jsonOb5Son.getString("longitude");

           }
           str=str+tpstr;

        }

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


新闻名称:JSON解析详解-创新互联
转载源于:http://ybzwz.com/article/idisi.html