JsonArray用法(二)

JsonArray用法(二)一 json 格式字符串在 java 中转成 JSONArray 或者 JSONObject 一 java 处理 json 格式字符串首先转成 JSONArray 或 JSONObject 类型 1 如果是 JSONArray 格式 最外层是中括号 表示数组 JSONArrayarr JSONArray parseArray text 注 text 必须是 json 格式的

一 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都是可以解析的 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233423.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号