zoukankan      html  css  js  c++  java
  • JSONObject和JSONArray的基本使用

    一、JSONObject和JSONArray的数据表示形式

    JSONObject的数据是用 {  } 来表示的,

            例如:   { "name" : "佩奇", "weight" : 50 }  

    而JSONArray,顾名思义是由JSONObject构成的数组,用  [ { } , { } , ......  , { },"字符串" ]  来表示

           例如:   [ {  "name" : "佩奇", "weight" : 50 }  ,  {  "name" : "麦兜", "weight" : 50 ,"height" : 180} ,"小猪信息"] ; 

            表示了包含2个JSONObject的JSONArray。

    可以看到一个很明显的区别,一个用的是 {  }  ,一个最外面用的是 [  ]  ;

    二、JSONObject添加元素put(key,value)方法和调用元素方法get(key)

    1.put(key,value)方法

    put(key,value)其中key是键名,一般为字符串,用于调用后边的value,

    value的值为String或JSONObject或JSONArray对象

    2.get(key)

    get(key),key为键名

    getJSONObject(key),key为键名,返回JSONObject对象

    getJSONArray(key),key为键名,返回JSONArray对象

    实例如下

             JSONObject student = new JSONObject();
             /*
              * put(key,value)其中key是键名,一般为字符串,用于调用后边的value,
              * value的值为String或JSONObject或JSONArray对象
              */
             //put(key,value)添加String对象
             student.put("name", "小明");
             student.put("sno", "20160000");
             
             JSONObject address = new JSONObject();
             address.put("city", "石家庄市");
             address.put("country", "长安区");
            //put(key,value)添加JSONObject对象
             student.put("address", address);
             
             JSONArray family = new JSONArray();
             JSONObject father = new JSONObject();
             father.put("name", "小明老爸");
             father.put("age", 40);
             JSONObject mother = new JSONObject();
             mother.put("name","小明老妈");
             mother.put("age",41);
             /*add(value)是JSONArray对象添加元素方法
              * value可以是String和JSONObject对象或JSONArray对象
              */
             family.add(father);
             family.add(mother);
             //put(key,value)添加JSONArray对象
             student.put("family", family);
             /*
              * JSONObject对象调用元素用get(key)方法
              * key为键名
              */
             System.out.println(student.get("name"));
             //输出结果  小明
             System.out.println(student.get("sno"));
             //输出结果 20160000
             
             
             /*
              * JSONObject对象(jsonObject)调用JSONObject对象元素(两种方法)
              * 1.jsonObject.getJSONObject(key),key为键名,返回JSONObject对象
              * 2.(JSONObject)jsonObject.get(key),key为键名,获得JSONObject对象
              * 
              */
             System.out.println(student.getJSONObject("address"));
             System.out.println((JSONObject)student.get("address"));
            //以上两种获取结果相同都是
             //{"city":"石家庄市","country":"长安区"}
             
             
             /*
              * JSONObject对象(jsonObject)调用JSONArray对象元素(两种方法)
              * 1.getJSONArray(key),key是键名,返回JSONArray对象
              * 2.(JSONArray)jsonArray.get(key),key是键名,获取JSONArray对象
              */
             System.out.println(student.getJSONArray("family"));
             System.out.println((JSONArray)student.get("family"));
             //以上两种获取结果相同都是
             //[{"name":"小明老爸","age":40},{"name":"小明老妈","age":41}]

    三、如何从JSONArray添加元素方法add(value)和调用元素的方法get(i)

     1.add(value)方法

    value可以是String对象,JSONArray对象,JSONObject对象

    2.get(i)方法

    i是元素下标,从0开始

    3.getJSONObject(i)方法

    获取JSONObject对象元素,i是元素下标,从0开始

    3.getJSONArray(i)方法

    获取JSONArray对象元素,i是元素下标,从0开始

    示例如下

             JSONArray pigs = new JSONArray();
             JSONObject pig1 = new JSONObject();
             pig1.put("name", "佩奇");
             JSONObject pig2 = new JSONObject();
             pig2.put("name", "猪猪侠");
             pigs.add("八戒");
             pigs.add(pig1);
             pigs.add(pig2);
             /*
              * 这样构造的JSONArray对象如下
              * ["八戒",{"name":"佩奇"},{"name":"猪猪侠"}]
              */
             System.out.println(pigs.get(0));
             //结果为  八戒
             //因为JSONArray对象pigs的第二个元素类型是JSONObject,所以可以使用getJSONObject(key)方法
             System.out.println(pigs.getJSONObject(1));
             //结果如下
             //{"name":"佩奇"}

    补充

    1.JavaScript中获取JSONObject对象元素

    student = {"name":"小明","sno":"20160000"}

    例如获取姓名student.name

    2.JavaScript中获取JSONArray对象元素

    示例

    family = [{"name":"小明老爸","age":40},{"name":"小明老妈","age":41}]

    获取第一个元素:{"name":"小明老爸","age":40}

    family[0]

    JSONObject和JSONArray所需j全部Jar包链接

    https://pan.baidu.com/share/init?surl=RPmxNKqmjRjzn9P3NFVKAg

    提取码:uhw1

    如有疑问,联系作者qq:2210756109

  • 相关阅读:
    (转)金额转中文大写
    根据方法名称动态调用方法
    sqlplus 一次奇葩问题 HTTP proxy setting has incorrect value
    Oracle 中包的应用
    Scala开发环境搭建
    巧妙利用jQuery和PHP打造类似360安全卫士防火墙功能开关(类似iphone界面)效果
    jquery选择器的实现流程简析及提高性能建议!
    8个超级震憾的Jquery图片特效欣赏,考验你的浏览器!
    分享七个绚丽夺目的JQuery导航(还有苹果、猪八戒等),有图有真相
    jQuery多媒体播放器插件jQuery Media Plugin使用方法
  • 原文地址:https://www.cnblogs.com/wei-jing/p/10305465.html
Copyright © 2011-2022 走看看