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)
上一篇 2025年7月21日 下午6:01
下一篇 2025年7月21日 下午6:22


相关推荐

  • 梯度下降与随机梯度下降概念及推导过程「建议收藏」

    梯度下降与随机梯度下降概念及推导过程「建议收藏」接前一章:常用算法一多元线性回归详解2(求解过程)同这一章的梯度下降部分加起来,才是我们要讲的如何求解多元线性回归.如果写在一章中,内容过长,担心有的同学会看不完,所以拆分成两章.[坏笑]上一章中有提到利用解析解求解多元线性回归,虽然看起来很方便,但是在解析解求解的过程中会涉及到矩阵求逆的步骤.随着维度的增多,矩阵求逆的代价会越来越大(时间/空间),而且有…

    2025年10月25日
    4
  • DDoS攻击工具HOIC分析

    DDoS攻击工具HOIC分析本文是绿盟科技安全+技术刊物中的文章,文章对拒绝服务攻击工具—”HighOrbitIonCannon”的技术性分析。HOIC是一款用RealBasic开发可移植的多平台拒绝服务攻击工具,该工具虽然对使用者的水平…

    2022年7月11日
    29
  • 光棍节程序员闯关秀-解密

    光棍节程序员闯关秀-解密前言最近看到的了一个比较有意思的解密游戏,这解密的过程中确实花了不少的功夫,后来通过搜索才发现这是好几年前的题目,但是题目虽然是老的,但技术是没有过时的,不得不承认其中有些问题我确实解答不上来,不过解密的过程还是很有意思的,在此记录一下,游戏地址为光棍节程序员闯关秀第1关(总共10关)有兴趣的可以自己玩一下,有些题目还是很需要专业知识的,具体的解题步骤网络上一大堆,不过我发现一个问题,你们为什么不把

    2022年7月17日
    29
  • jeesite集成cas认证[通俗易懂]

    jeesite集成cas认证[通俗易懂]cas和shiro集成,很好的解决了登录及权限问题。本人最近第一次使用,框架使用的是jeesite开源框架,本身已经集成了shiro,现在将cas集成到项目中。折腾了三天,终于把cas集成到jeesite中。现将集成过程写下,供朋友参考。本项目集成cas的同时还留有登录入口,此时需要多种认证方式,步骤6、7的设置就是针对这个功能的,如不需要可直接跳过。1、添加cas的maven依赖。

    2022年6月15日
    46
  • FPGA学习笔记:单次调用@(posedge clk)(没有always)

    FPGA学习笔记:单次调用@(posedge clk)(没有always)之前看小梅哥视频 对下面语句有所疑惑 不知道这个 posedge 触发后只执行一句还是后面的都执行 能不能加 beginend 只触发某几句 如果能用 beginend 的话 没有触发上升沿那么这个语句会不会阻塞后面的语句 自己就写了个 testbench 代码如下 timescale1ns 1ns definetm20mo regclk regtest1 regtest2 regtest3 regclk1 initial

    2026年3月18日
    2
  • 一文讲清|企业应用AI Agent智能体的最佳途径(面向企业视角全面解析)

    一文讲清|企业应用AI Agent智能体的最佳途径(面向企业视角全面解析)

    2026年3月15日
    2

发表回复

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

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