android判断是否json格式,android – 检查JSON中是否存在subObject

您可以尝试一下,如果尝试失败,则返回null.或者你可以将你的尝试分解成小块来监视失败的地方.

/**

* This method will return the JSONObject q0, if it exists

* If it doesn't exist it will return NULL

*

*/

private JSONObject getQZero(JSONObject json)

{

try

{

return json.getJSONObject("queue").getJSONObject("building").getJSONObject("q0");

}

catch (JSONException e)

{

// This could be triggered either because there is no q0

// or because the JSON structure is different from what was expected.

return null;

}

}

如果你想打印每个级别的日志,你也可以一步一步走;

/**

* This method will show where your jsonparsing fails.

* It will throw a JSONOException if the json is way different from what

* was expected, and otherwise it will print a log of where the parsing

* failed.

*/

private JSONObject getQZero(JSONObject json) throws JSONException

{

// Stop if no queue

if (! myObject.has("queue")

{

Log.d(TAG, "no queue!");

return null;

}

JSONObject queue = myObject.getJSONObject("queue");

// Stop if no building

if (! queue.has("building")

{

Log.d(TAG, "no building!");

return null;

}

JSONObject building = queue.getJSONObject("building")

// Stop if no q0

if (! building.has("q0"))

{

Log.d(TAG, "no q0!");

return null;

}

JSONObject q0 = building.getJSONObject("q0");

// Q0 is returned here. If the method returned earlier, it returned NULL

// You could also do nested ifs, but the indentation gets crazy

return q0;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555136.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整

BigDecimal在用double做入参的时候,二进制无法精确地表示十进制小数,编译器读到字符串"0.0000002"和“1.0000002”之后,必须把它转成8个字节的double值,也就是1.0000001999999998947288304407265968620777130126953125类…

Spring 官方修复零日漏洞,推出 Spring Boot 2.6.6、2.5.12 等新版本

一、漏洞说明 这个漏洞还要从 3 月 29 日晚间说起! 彼时有不少网友爆料,Spring 框架出现 “史诗级” RCE 漏洞,平地一声雷,一时之间,快要入睡的开发者们纷纷坐起查看关于漏洞的情况,闹得技术圈中人心惶惶…

android.app.activityview,ViewModel 概览

ViewModel 概览ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。注意:如需将 ViewModel导入 Android 项目,请参阅 Lifecycle 版本说明中关于声明依赖项的说明。Android 框架可…

MySQL事务与MVVC

一、ACID特性 数据库管理系统中**事务(transaction)**的四个特性(分析时根据首字母缩写依次解释):原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 所谓事务,它是一个操作序列,这些操作要么都执行&#xff0…

Java在坐标系中找出距离最近的点

在有限点中找出距离最近的点,要求用二维数组且为浮点型(Double)编写,编写一个distance方法计算距离在主方法中来比较 输入:输入点的个数和坐标点(不需要括号和逗号) 8-1 3 -1 -1 1 1 2 0.5 2 -1 3 3 4 2 …

使用Navicat将数据从Excel导入到MySQL数据库

数据库中的表已经建好了,现在要将数据从Excel导入 要求:Excel中要有一行为字段名(可以与数据表中的字段名顺序不一样) 具体步骤 1、右键单击表,选择 导入向导 2、选择数据导入格式,然后点击下一步 3…

什么是超文本 超链接 HTML有什么特点,什么是超文本?什么是超链接?

什么是超文本?什么是超链接?什么是HTML?简而言之:超文本包含超链接,html是表示超文本的语言,超链接是超文本内的元素超文本包含很多元素,比如文字、图片、链接到其他超文本的链接(超链接)等。超…

flatMap(Collection::Stream)用法

Map<key, List a> 取出Map的List a map.values().stream().flatMap(Collection::stream).collect(Collectors.toList());

html5 a-z字母排序,Mint UI实现A-Z字母排序的城市选择列表

本文实例为大家分享了Mint Ul实现A-Z字母排序的城市选择列表的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下效果图如下&#xff1a;项目文件存放路径图&#xff1a;所有代码如下&#xff1a;import city from "../assets/json/city"//导入所有城市的JSON…

Geometry几何结构与WKT空间坐标计算缓冲距离模型构建

geometry&#xff0c;英语单词&#xff0c;名词&#xff0c;意思是“几何学几何结构”。 http://www.baike.com/wiki/WKTWKT&#xff0c;是一种文本标记语言&#xff0c;用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。它的二进制表示方式&#xff0c;亦即WKB(…

html5开发之ios屏幕适配,iOS开发屏幕尺寸以及屏幕适配等问题(转载内容)

原帖地址&#xff1a;http://blog.csdn.net/phunxm/article/details/42174937/仅供我个人收藏学习&#xff0c;原博主如不同意请联系qq651263878进行删除&#xff0c;在此表示感谢以及歉意。1.iPhone尺寸规格后续上市的iPhone7以及iPhone7plus 与六代相同1 inch 2.54cm 25.4…

flink checkpoint 恢复_Flink解析 | Apache Flink结合Kafka构建端到端的ExactlyOnce处理

周凯波(宝牛)阿里巴巴技术专家&#xff0c;四川大学硕士&#xff0c;2010年毕业后加入阿里搜索事业部&#xff0c;从事搜索离线平台的研发工作&#xff0c;参与将搜索后台数据处理架构从MapReduce到Flink的重构。目前在阿里计算平台事业部&#xff0c;专注于基于Flink的一站式计…

Java通过ftl模板导出word最详细教程

首先用office建一个word文档 参数写自己查询出来的字段&#xff0c;我在这里房里图片是方便找到位置替换为64位编码 模板创建好之后&#xff0c;另存为Word 2003 XML文档(*.xml) 存储为别的可能会报错&#xff0c;我只用这一种 存储为xml之后千万不要用word打开&#xff0c;最…

封装html ui 控件,聊聊前端 UI 组件:组件设计

本文首发于欧雷流。由于我会时不时对文章进行补充、修正和润色&#xff0c;为了保证所看到的是最新版本&#xff0c;请阅读原文。在本系列文章《聊聊前端 UI 组件&#xff1a;组件体系》中初步说明了 UI 组件的架构设计&#xff0c;本文将在此基础上进一步展开说说那篇文章中一…

live555推流rtsp_Hi3518 RTSP推流

1、openssl编译下载地址:http://distfiles.macports.org/openssl/解压后进入源码根路径执行./config no-asm no-async --prefix/home/chenyc/project/hi3518e/Hi3518E_SDK_V1.0.3.0/armlib/openssl --cross-compile-prefixarm-hisiv300-linux-#打开生成的makefile 删除-m64 在…

怎么两边同时取ln_男生“两边铲光”发型out了?试试这4款吧,剪完清爽又帅气...

发型对于男生来说是特别重要的&#xff01;女生可以通过化妆来让自己变得更完美&#xff0c;而男生想要改变自己的形象&#xff0c;是不敢轻易化妆的&#xff0c;只有通过改变自己的发型&#xff0c;才能更好地展现自己的魅力。现下男生最流行的发型&#xff0c;莫过于“两边铲…

ionic 修改组件默认样式_开源Magpie:组件库详解

开源项目专题系列(八)1.开源项目名称&#xff1a;magpie_fly2.github地址&#xff1a;https://github.com/wuba/magpie_fly3.简介&#xff1a;magpie_fly 是58集体出品组件库&#xff0c;统一管理日常开发中的基础组件及高阶组件&#xff0c;并提供了相对友好的方式介绍组件的具…

口袋之旅html5超强账号,口袋之旅特攻排行榜 强大的绝对能力

历史上是在金银版分了精灵的特攻物攻&#xff0c;在宝石版分了技能的特攻物攻&#xff0c;让很多精灵和技能得以重生。口袋之旅采用的是第二世代的精灵加第三世代的技能分类&#xff0c;于是特攻手也成为了一个需要挑选的部分&#xff0c;本文继续为你缩小挑选范围。特攻种族值…

使用ftl生成word

背景&#xff1a;根据word模板下载word。word里面需要填充数据&#xff0c;格式是固定的。首先在word中给数据起个变量名称 需要更换的数据改成${变量名!}&#xff0c;必须是英文的&#xff0c;加感叹号是为了防止null&#xff0c;如果数据是null&#xff0c;文档下载下来后会直…

什么叫做项目孵化_蓝莓孵化营12进5争夺战,项目人绽放自我不留遗憾

国内首档互联网职业竞技励志节目《蓝莓孵化营》&#xff0c;今晚22点在浙江卫视播出第十一期。本期节目中&#xff0c;第三事业群的12组项目人将为最终的5张终极考核入场券展开争夺。这一次&#xff0c;他们比拼的是以“2020”为主题的短视频&#xff0c;每一组项目人都拼尽了自…