JSONObject和JSONArray区别

一、使用JSONObject和JSONArray必须的jar包:

commons-beanutils.jar

commons-collections.jar

commons-lang.jar

commons-logging.jar  

ezmorph.jar

json-lib.jar

二、将字符串转换成JSONObject,将JSONObject转换成JSONArray

package com.company;

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

public class JSONTest {

    /**
    * @Description:
     * 取出name4值过程步骤:
     * 1,将以上字符串转换为JSONArray对象;
     * 2,取出对象的第一项,JSONObject对象;
     * 3,取出name1的值JSONObject对象;
     * 4,取出name2的值JSONObject对象;
     * 5,取出name4的值value2。
    * @Param:
    * @return:
    * @Author: yaoXu
    * @Date: 2020/7/6
    */
    public static void main(String[] args) {

        String arrayStr = "[{name1:{name2:{name3:'value1',name4:'value2'}}},{}]";

        //将结果转换成JSONArray对象的形式
        JSONArray getJsonArray = JSONArray.fromObject(arrayStr);

        //获取json数组中的第一项
        JSONObject getJsonObj = getJsonArray.getJSONObject(0);

        //此时,result已经是一个json对象
        JSONObject result = getJsonObj.getJSONObject("name1").getJSONObject("name2");
        System.out.println(result);

        //获取name4的值
        Object name4 = result.get("name4");
        System.out.println(name4);
    }
}

三、基础用法

package com.company;

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

/**
 * @program: test
 * @description
 * @author: yaoXu
 * @create: 2020-07-06 10:39
 **/
public class JSONTest_2 {

    //创建JSONObject对象
    private static JSONObject createJSONObject(){
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("username","erHa");
        jsonObject.put("sex", "男");
        jsonObject.put("QQ", "6666666");
        jsonObject.put("Min.score", new Integer(99));
        jsonObject.put("nickname", "erHaChiRouRou");
        return jsonObject;
    }

    public static void main(String[] args) {

        JSONObject jsonObject = JSONTest_2.createJSONObject();
        //输出jsonObject对象
        System.out.println("Json对象(JSONObject)==>"+jsonObject);

        //判读输出对象的类型
        boolean isArray = jsonObject.isArray();
        boolean isEmpty = jsonObject.isEmpty();
        boolean isNullObject = jsonObject.isNullObject();
        System.out.println("isArray:"+isArray +"\nisEmpty:"+isEmpty+
                "\nisNullObject:"+isNullObject);

        //添加属性
        jsonObject.element("address", "湖南省长沙市");
        System.out.println("添加属性后的对象==>"+jsonObject);

        //返回一个JSONArray对象
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(0, "this is NO_0 jsonArray value");
        jsonArray.add(1,"this is NO_1 jsonArray value");
        jsonObject.element("jsonArray", jsonArray);
        JSONArray array = jsonObject.getJSONArray("jsonArray");
        System.out.println("返回一个JSONArray对象:"+array);
        //添加JSONArray后的值
        //{"username":"huangwuyi","sex":"男","QQ":"999999999","Min.score":99,
        // "nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]}
        System.out.println("结果="+jsonObject);

        //根据key返回一个字符串
        String username = jsonObject.getString("username");
        System.out.println("username==>"+username);

        //把字符转换为 JSONObject
        String temp=jsonObject.toString();
        JSONObject object = JSONObject.fromObject(temp);
        //转换后根据Key返回值
        System.out.println("qq="+object.get("QQ"));


    }

}

 

 

 

 

 

 

你可能感兴趣的:(问题集锦,json,java)