JsonObject判断一个json串中是否含有某个key值

摘要:
最近,当我调试接口时,当我将接收到的XML信息转换为JsonObject并取出一些不存在的键时,遇到了一个错误。所以我总结了这个方法。在这里,为了方便起见,我将使用json字符串来演示。

最近在做接口的调试工作,遇到将接收的XML信息转换成JsonObject后,取出某些key不存在的时候出现错误,所以对此方法做一个总结,这里为了方便就以json串来做演示。

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public static void main(String[] args) throws JSONException {

  String jsonStr = "{'content':['','','',''],'Baseline':{'content':['1','2'],'BaselineName':'JC','BaselineId':'813xxx'}}";

  JSONObject jsonObject = new JSONObject(jsonStr);

  //这里调用JSONObject 的has方法来判断一个key值是否存在,如果存在返回true

  if(jsonObject .has("Baseline")){

    //这里对应当前key值存在后的操作

    JSONObject jsonObject2 = (JSONObject)jsonObject.get("Baseline");

    ......

    ......

  }

}

免责声明:文章转载自《JsonObject判断一个json串中是否含有某个key值》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php获取本周周一、周日时间,上周周一、周日时间,本月第一天,本月最后一天,上个月第一天,最后一天时间Java工具类Hutool超实用,神级框架值得拥有!下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

02 . Ansible高级用法(运维开发篇)

自动化任务简介 假设我们要在10台linux服务器上安装一个nginx服务,手动是如何做的? # 第一步, ssh登录NUM(1,n)服务器 # 第二步,输入对应服务器密码 # 第三步,执行命令: yum install nginx 循环操作n=10 # 第四步,执行命令: service nginx start # 第五步,退出登录 自动化任务执行的意...

AMDLoader数据模块加载器

'use strict';/*异步数据模块加载器功能1、加载器存在 主任务、副任务、子任务newRequire 表示加载主任务,主任务并发执行,newRequire(param1),执行主任务的时候,暂停副任务,主任务结束后,再执行副任务。onRequireFree 表示加载副任务,任务放队列,主任务结束后,副任务按顺序执行require表示加载子任务,r...

按键消抖

按键消抖原因 使用机械弹性开关,当机械触点闭合/断开时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会马上断开。而是会在闭合/断开的瞬间伴随一连串的抖动,为避免这种现象带来的问题,需要进行按键消抖。 硬件消抖 在按键个数较少时可以使用硬件方法消除抖动。下图所示为使用RS触发器进行硬件消抖,当按键未按下时,输出为0;当按键按...

angular 路由传参的三种方式

1. 问号后面带的参数 url:http://localhost:4200/news?key=japan html 调用方法: <a[routerLink]="['/news']"[queryParams]="{key:'japan'}"> 跳转 </a> ts 调用方法: // 构造函数传入 privaterouter:Rou...

JAVA框架-前后端分离(Json和ajax)

为什么要前后端分离? 在以前的学习代码中,可以看出来我们在jsp页面页面上也通过EL表达式和jstl写了很多的java程序,这实际上在前端的页面中混入了很多后端的逻辑,这就是传统的web开发。在传统的web开发中,页面展示的内容以及页面之间的跳转逻辑,全都由后台来控制,这导致了前后端耦合度非常高,耦合度高则意味着,扩展性差,维护性差,等等问题 传统开发的问...

如何在C++中的Map或Set中修改Key值

我们对map中的修改value操作可以是如下的: auto myMap = std::map<std::string, int>{ {"one", 1}, {"two", 2}, {"three", 3} }; myMap.find("two")->second = 22; 但是如果想修改key操作,则下面这段代码是错误的: auto...