JSONObject与JSONArray的使用区别

        在项目开发中,后台Action向前端传递数据会是Json格式,这时候我们需要使用到JSONObject、JSONArray,注意若使用这两个必须要在项目中导入commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar  ezmorph.jar json-lib-2.2.2-jdk15.jar 这些Jar包。

        在之前讲解过java对象转换json数据,那么在转换的时候我们发现有时候会使用JSONObject,有时候使用JSONArray,那么什么时候用JSONObject?什么时候用JSONArray?下面我们讲解一下这两个的区别。

1.JSONObject、JSONArray的使用场景

想通过键值对的形式获取数据,则使用JSONObject

如果后台查询的是某个Bean的List集合向前端传递数据,则使用JSONArray

2. JSONObject与JSONArray创建方法

 JSONObject创建的方法:

//创建JsonArray第一种方法
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(0, "kobi");
        jsonArray.add(1, "34");
        jsonArray.add(2, "ALI");
        System.out.println("jsonArray1:" + jsonArray);
        
//创建JsonArray第二种方法
        ArrayList<String> arrayList = new ArrayList<String>();
        arrayList.add("kobi");
        arrayList.add("34");
        arrayList.add("ALI");
        System.out.println("jsonArray2:" + JSONArray.fromObject(arrayList));

JSONArray创建的方法:

//创建JsonArray第一种方法
        JSONArray jsonArray = new JSONArray();
        jsonArray.add(0, "kobi");
        jsonArray.add(1, "34");
        jsonArray.add(2, "ALI");
        System.out.println("jsonArray1:" + jsonArray);
        
//创建JsonArray第二种方法
        ArrayList<String> arrayList = new ArrayList<String>();
        arrayList.add("kobi");
        arrayList.add("34");
        arrayList.add("ALI");
        System.out.println("jsonArray2:" + JSONArray.fromObject(arrayList));

3.案例演示

public class Test {

    public static void main(String[] args) {
        String jsonString = "{\"UserName\":\"kobi\",\"age\":\"34\",\"workIn\":\"ALI\",\"Array\":[\"kobi\",\"34\",\"ALI\"]}";
        //将Json字符串转为java对象
        JSONObject obj = JSONObject.fromObject(jsonString);

//获取Object中的UserName
        if (obj.has("UserName")) {
            System.out.println("UserName:" + obj.getString("UserName"));
        }


//获取ArrayObject
        if (obj.has("Array")) {
            JSONArray transitListArray = obj.getJSONArray("Array");
            for (int i = 0; i < transitListArray.size(); i++) {
                System.out.print("Array:" + transitListArray.getString(i) + " ");
            }
        }
    }
}

返回值为:

UserName:kobi
Array:kobi Array:34 Array:ALI 

猜你喜欢

转载自blog.csdn.net/MyBloggerlxs/article/details/81623621