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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C++学习之路—— C++异常处理机制

    C++学习之路—— C++异常处理机制例题:1.设计一个程序,根据输入的三边求三角形面积。2.要求设置异常处理机制,对不符合三角形条件提示错误信息,不做计算;对输入非正数的边提示错误,并重新输入。代码如下:class S{public: double s; S(double x, double y, double z) { a = x; b = y; c = z; } void TryS();pr…

    2022年8月18日
    15
  • 红旗linux 桌面10 下载,想要红旗桌面操作系统10(RedFlag Desktop Linux10)的请联系红旗官方…「建议收藏」

    红旗linux 桌面10 下载,想要红旗桌面操作系统10(RedFlag Desktop Linux10)的请联系红旗官方…「建议收藏」当前红旗桌面操作系统10(RedFlagDesktopLinux10)已经正式推出,如果有需要下载或者安装光盘的用户建议联系红旗官方,以获知获取RedFlagDesktopLinux10的渠道,安装请参考红旗Linux系统RedFlagLinuxDesktop9.0安装教程。红旗桌面操作系统10亮点介绍RedFlagDesktopLinux10使用Linux4.18内…

    2022年8月22日
    5
  • 在TIM客户端删除被管理员解散的群组会话

    在TIM客户端删除被管理员解散的群组会话编者:李国帅qq:9611153微信lgs9611153时间:2020.6.1背景原因:TIM客户端会保留曾经参与过的会话,即便是会话的对话方,参与的群组已经不存在,会话和消息也不会移除,除非从本地删除。如果不想保留,就需要对TIM的逻辑进行处理。对于群组,如果群组被解散,可以在收到解散通知时,把群组会话移除。如果用户不在线时群组被解散,该如何做呢?想到并验证确实可用的方法:查询当前用户所在群组,删除那些过期的本地群组。背景问题流程:所需资源:Andr.

    2022年5月19日
    43
  • 主流大数据存储解决方案评析

    主流大数据存储解决方案评析EMC Isilon:横向扩展 性能突出大数据存储不是一类单独的产品,它有很多实现方式。EMC Isilon存储事业部总经理杨兰江概括说,大数据存储应该具有以下一些特性:海量数据存储能力,可轻松管理PB级乃至数十PB的存储容量;具有全局命名空间,所有应用可以看到统一的文件系统视图;支持标准接口,应用无需修改可直接运行,并提供API接口进行面向对象的管理;读写性能优异,聚合带宽高达数GB乃至数十GB…

    2022年6月2日
    48
  • webmagic ajax,webmagic 爬虫 分页

    webmagic ajax,webmagic 爬虫 分页importus codecraft webmagic Page importus codecraft webmagic Site importus codecraft webmagic Spider importus codecraft webmagic processor PageProcesso importus codecraft webmagic selector JsonP

    2025年8月15日
    4
  • 查看 CUDA cudnn 版本 & 测试 cuda 和 cudnn 有效性「建议收藏」

    查看 CUDA cudnn 版本 & 测试 cuda 和 cudnn 有效性「建议收藏」https://medium.com/@changrongko/nv-how-to-check-cuda-and-cudnn-version-e05aa21daf6ccuda版本cat/usr/local/cuda/version.txtcudnn版本cat/usr/local/cuda/include/cudnn.h|grepCUDNN_MAJOR-A2

    2022年4月26日
    66

发表回复

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

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