JsonArray用法(二)

一 JSONArray和JSONOject的用法

JSONArray用法

1  解析字符串
	 JSONArray jsonarr = JSONArray.parseArray(str);
	 
2  存值取值
	(1) 存值
     	jsonarr.add(obj);

    (2) 取值
		for(int i =0; i <= jsonarr.size(); i++){
		 	jsonarr[i].get(key);
	 	} 
	
3   格式: 
	本质是数组, 必须是数组格式,   用  [ ] 包裹数据 
	格式:   [{key:value},{key:value}... ]
    	    ["str1","str2","str3",...]

JSONObject的用法

1 解析字符串
	JSONObject  obj = JSONArray.parseObject(str);

2  存值取值
   (1) 存值
		 obj.put("key", key);
		 obj.put("value", value);

   (2) 取值
   		 value = obj.get(key);

3  格式:
	本质是对象, 用 {} 表示
	格式:  {key:value}
	

案例

public class JsonTest {
    public static void main(String[] args) {
        String s1 = "[]";
        String s2 = "[{}]";
        String s3 = "";
        String s4 = null;
        String s5 = "[{\"functionId\":\"14\",\"needBuy\":false,\"functionName\":\"功能1\"},{\"functionId\":\"17\",\"needBuy\":false,\"functionName\":\"功能2\"}]";
        String s6 = "{}";

        JSONArray jsonarr1 = JSONArray.parseArray(s1);
        JSONArray jsonarr2 = JSONArray.parseArray(s2);
        JSONArray jsonarr3 = JSONArray.parseArray(s3);
        JSONArray jsonarr4 = JSONArray.parseArray(s4);
        JSONArray jsonarr5 = JSONArray.parseArray(s5);
        //JSONArray jsonarr6 = JSONArray.parseArray(s6);


        Object obj1 = JSONObject.parse(s1);
        Object obj2 = JSONObject.parse(s2);
        Object obj3 = JSONObject.parse(s3);
        Object obj4 = JSONObject.parse(s4);
        Object obj5 = JSONObject.parse(s5);
        Object obj6 = JSONObject.parse(s6);


        System.out.println("s1 = " + jsonarr1);
        System.out.println("s2 = " + jsonarr2);
        System.out.println("s3 = " + jsonarr3);
        System.out.println("s4 = " + jsonarr4);
        System.out.println("s5 = " + jsonarr5);
        //System.out.println("s6 = " + jsonarr6);
        System.out.println("");
        System.out.println("obj1 = " + obj1);
        System.out.println("obj2 = " + obj2);
        System.out.println("obj3 = " + obj3);
        System.out.println("obj4 = " + obj4);
        System.out.println("obj5 = " + obj5);
        System.out.println("obj6 = " + obj6);


       

答案:  打印第6条因格式不对, 会报错, 所以注释了
        s1 = []
        s2 = [{}]
        s3 = null
        s4 = null
        s5 = [{"functionId":"14","needBuy":false,"functionName":"功能1"},{"functionId":"17","needBuy":false,"functionName":"功能2"}]
        //Exception in thread "main" com.alibaba.fastjson.JSONExcept
   
       obj1 = []
       obj2 = [{}]
       obj3 = null
       obj4 = null
       obj5 = 
       [{"functionId":"14","needBuy":false,"functionName":"功能1"},{"functionId":"17","needBuy":false,"functionName":"功能2"}]
       obj6 = {}

总结

	只要格式正确, 空字符串和null都是可以解析的
  • 17
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSONArray是Java中处理JSON数组的类。它提供了一组方法来创建、操作和访问JSON数组。 要使用JSONArray,你需要导入org.json.JSONArray类。以下是一些JSONArray的常用用法: 1. 创建JSONArrayJSONArray对象可以通过构造函数来创建,也可以通过将JSON字符串解析为JSONArray来创建。例如: ```java JSONArray jsonArray = new JSONArray(); // 创建一个空的JSONArray对象 JSONArray jsonArray = new JSONArray("[1, 2, 3]"); // 解析JSON字符串为JSONArray对象 ``` 2. 添加元素: 可以使用put()方法将元素添加到JSONArray中。元素可以是基本类型、字符串、JSONObject或其他JSONArray。例如: ```java jsonArray.put(1); // 添加整数元素 jsonArray.put("hello"); // 添加字符串元素 JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "John"); jsonArray.put(jsonObject); // 添加JSONObject元素 ``` 3. 获取元素: 可以使用get()方法按索引获取JSONArray中的元素。JSONArray的索引从0开始。例如: ```java int number = jsonArray.getInt(0); // 获取整数元素 String str = jsonArray.getString(1); // 获取字符串元素 JSONObject obj = jsonArray.getJSONObject(2); // 获取JSONObject元素 ``` 4. 遍历元素: 可以使用length()方法获取JSONArray中元素的数量,然后使用循环遍历每个元素。例如: ```java for (int i = 0; i < jsonArray.length(); i++) { Object element = jsonArray.get(i); // 处理元素 } ``` 5. 转换为字符串: 可以使用toString()方法将JSONArray转换为JSON字符串。例如: ```java String jsonString = jsonArray.toString(); ``` 这些是JSONArray的一些基本用法,可以根据具体需求进一步了解和使用JSONArray的其他方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值