JSON操作数组数据

  • 在JSON数据结构之中会包含数组数据内容,对于数组的内容一定要使用"[]"中括号声明,但是数组分为两种情况,一种是普通的内容文本数组,另外一种就是JSON的对象数组.
  • 如果要使用JSON的数组操作,使用JSONArray类完成
    • JSONArray类中的重要方法 -----add(Object obj)
  • 该方法里面可以增加普通文本数据或是JSONObject类的对象.
  • 范例:生成基本数据的数组
package mao.shu.testt;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class TestJSON {
    public static void main(String[] args){
        JSONObject jsobj = new JSONObject();
        jsobj.put("name","Maoshu");
        jsobj.put("age",22);
        jsobj.put("sex","男");
        //创建JSON数组
        JSONArray skill = new JSONArray();
        skill.add("java");
        skill.add("javascript");
        skill.add("css");
        skill.add("html");

        //将数组存储到jsObj中
        jsobj.put("skill",skill);
        System.out.println(jsobj);
    }
}

  • 运行结果

在这里插入图片描述

  • JSONArray指标数数组的内容,而最终要想去使用这个数组,则必须为期设置相应的key的数据,而这个数据就需要JSONObject来指定.
  • 但是很多的时候这个数组可能欧很多的内容,而不是一个简单的文本数据,例如一个一个数组之中可能包含有多个部门信息,每个部门都有编号名称,以及位置信息
  • 示例处理复杂数组信息
package mao.shu.testt;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class TestJSON {
    public static void main(String[] args){
        JSONObject jsobj = new JSONObject();
        jsobj.put("name","Maoshu");
        jsobj.put("age",22);
        jsobj.put("sex","男");
        //创建JSON数组
        JSONArray skill = new JSONArray();
        skill.add("java");
        skill.add("javascript");
        skill.add("css");
        skill.add("html");

        //将数组存储到jsObj中
        jsobj.put("skill",skill);


        //保存三个部门信息的数组
        int[] deptno = new int[]{1,2,3};
        String[] dname = new String[]{"人事部","财务部","技术部"};
        String[] loc = new String[]{"上海","北京","福州"};

        //保存部门信息的数组
        JSONArray depts = new JSONArray();
        for(int x = 0; x < deptno.length;x++){
            //保存单个部门的信息
            JSONObject temp = new JSONObject();
            temp.put("deptno",deptno[x]);
            temp.put("dname",dname[x]);
            temp.put("loc",loc[x]);
            //将单个部门保存到jsObj对象中
            depts.add(temp);
        }
        //将部门信息保存到jsObj中
        jsobj.put("depts",depts);
        System.out.println(jsobj);

    }
}

  • 程序运行结果

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43386754/article/details/86263472