JSONObject #getString(String string) 空值(null)问题

74HC138译码器的原理和使用 A0,A1,A2为3位二进制加权地址输入端口,A2A1A0顺序组成的3位2进制数对应的十进制数x控制使能端口Yx';例如当A2A1A0 = 101 时,其他门输出端全为高电平,只有Y5'为低电平。 Y0-Y7为8个输出端口,其输出电平由A0,A2,A3,E1,E2,E3决定。 阅读详情

今天在android4.4.2(android-19)平台上做Json数据解析的时候碰到了这样一个问题:

返回的数据为:{"message":null}

当使用:JSONObject jsonObj = new JSONObject(jsonMessage);

String message=jsonObj.getString("message");

本以为message 是空值(null)

结果总不能如愿,最后发现:getString(),如果value是空值,那么这个方法会返回一个“null"字面量,而不是null对象。


源码:

    /**
     * Returns the value mapped by {@code name} if it exists, coercing it if
     * necessary.
     *
     * @throws JSONException if no such mapping exists.
     */
    public String getString(String name) throws JSONException {
        Object object = get(name);
        String result = JSON.toString(object);
        if (result == null) {
            throw JSON.typeMismatch(name, object, "String");
        }
        return result;
    }


自绘CListCtrl时发现ON_WM_MEASUREITEM_REFLECT和DrawItem(LPDRAWITEMSTRUCT lpMeasureItemStruct) 无响应 自绘CListCtrl时发现ON_WM_MEASUREITEM_REFLECT和DrawItem(LPDRAWITEMSTRUCT lpMeasureItemStruct) 无响应 一般情况下,我们都是在 dialog 里面 放一个 list 控件,然后 用自己的类绑定自己的自绘对象,如同下面: 1.  在 dialog 里面 加一个 list 列表 2. 然后 绑定这个列表 哈哈... 阅读详情

相关推荐

发那科机器人弧焊指令实战:从Search指令到组掩码设置的完整避坑指南

本文详细解析了发那科机器人弧焊指令系统的实战应用,从Search指令的正确使用到组掩码设置的避坑技巧。通过实际案例和参数优化建议,帮助工程师提升焊接质量和生产效率,避免常见错误操作。特别针对T2模式示教难题和外部轴协调运动提供了专业解决方案。

weixin_29040367的博客 184

JSONObject optString或者getString方法取null问题

近来,在与服务端联调时发现个问题,总是拿不到数据,后来服务端发现客户端有个值为字符串"null"传过去了,服务端解析不了,导致该问题。那为什么会传字符串"null"呢?原来是服务端下发的该值为null,但通过JSONObject.optString方法进行解析时,会把null转变为"null"字符串,故而出现该问题。另外,其getString方法也有这个问题。如:json数据:{ "title":...

weixin_34248258的博客 1597

SAP MM 物料描述MAKTX 40个字符不够用的问题处理

SAP物料描述表,长度40个字符一般情况下,40个字符在描述中也够用了,但是要加上规格之类的额外描述就不一定了,特别是对于辅助件-刀具。解决方案一:对maktx增强,换成CHAR80或者CHAR100的,但是风险较大,涉及到好多地方,另外SAP+ 算号器 也不支持。解决方案二:增强字段。内部顾问,建议在 那就在这里加一个字段,具体过程如下:1、创建域2、创建架构3、附加架构4、GUI 设置 5、后台设置6、MASS/MM17字段新增。过程1、创建域 SE112、创建结构 se11 3、MARA附加架构

GAVIN 4728

Json数据处理 And 对象接收数据库查询结果字段为null时,空指针异常

<问题一>Integer 和Int 区别 Integer的默认值是null,int的默认值是0 <问题二>用navcat对某一个表新增一列后查询提示无效的列 情景: 用navcat在某个表中新家了一个字段,字段是小写的,不被识别,加上双引号就可以使用,将字段改为大写后问题得以解决。 <问题三>JsonObject的非空判断 jsonObject.isNull() 1.从map中取出不存在的键值对时不会报异常,会返回null。 2.在JSONObject中取不存在的键值对时

过去过去,未来未来,当下永恒! 1020

R语言实战:非正态数据下的Scheirer–Ray–Hare检验全流程解析

本文详细解析了在R语言中执行Scheirer–Ray–Hare检验的全流程。当数据不满足正态分布假设时,该非参数检验是传统双因素方差分析的有效替代方案。文章从原理、R环境配置、数据准备、代码实现、结果解读到事后比较与可视化,提供了完整的实战指南,帮助研究者稳健地分析多因素实验设计中的主效应和交互效应。

cc789的博客 406

Android System Slice应用加载分析,及启用Slice后,锁屏日期第一次开机正常显示,但后面锁屏不显示问题分析

最近发现Android P上锁屏界面,日期不显示,发现从P开始后,出现了Slice来允许应用以模块化,可交互的方式,插入多个使用场景。Android P的system UI 也使用到了这一特性,表现为锁屏时间,日期,勿扰图标,闹钟等。 如何使用Slice 以System UI中KeyguardSliceView.java来说明它的使用方法 首先,我们打开System UI 的mk 文件,可以看到以...

qq_33595823的博客 3035

fastjson中JSONObject对象的getString()方法遇到的坑

public class Test { public static void main(String[] args) { String str = "{\"context\":\"{\\\"flightNo\\\":\\\"ZH9112\\\",\\\"flightDate\\\":\\\"${rkey+1day(0,9)}\\\",\\\"userId\\\":\\\"13706024\\\", \\\"tktNum\\\":\\\"54028714511230\\\",\\\"co

sinat_34241861的博客 7855

香橙派5B-RK3588-NPU内核升级至0.9.8:RKLLM多模态部署实战

本文详细介绍了香橙派5B-RK3588设备NPU内核升级至0.9.8版本的完整流程,重点讲解了升级的必要性、两种升级方案(预编译包安装与自行编译内核)以及RKLLM SDK的安装配置。通过实战演示多模态模型转换与推理,显著提升AI计算性能,为嵌入式AI部署提供实用指南。

salt9的博客 1025

Android单元测试时,JSONObject解析String时为null

将下面这段配置放到build.gradle中: testImplementation "org.json:json:20140107" 原因是:JSONObject是Android的SDK

Melon的博客 611

使用Bigemap下载地图流程

Bigemap地图下载简单流程,临时安排任务简单学习没有深入了解。

TKY666的博客 4846

GB 47955—2026 L2组合驾驶辅助强制国标全解、合规方案与工程代码落地

GB 47955—2026 L2辅助驾驶国标合规工程代码# 运行环境:Python3.8+,适配车载仿真、台架测试、算法验证场景# 依赖安装:pip install numpy dataclasses tqdm struct time json# ===================== 国标强制时序参数(完全对标GB 47955—2026) =====================HAND_OFF_FIRST_WARN = 5.0 # 手部脱离5s触发一级预警。

lin_xiu的博客 299

jsonObject.getString("XXX")==null?"":jsonObject.getString("XXX")

jsonObject.getString("XXX")==null?"":jsonObject.getString("XXX")

疯猫 2409

零基础做完YOLOv8船只检测系统:HRSC2016数据集 + 完整UI,稳过答辩

亲爱的同学,通过这篇教程,你已经掌握了“基于YOLOv8的HRSC2016微小船只检测系统”从数据集处理、模型训练到Tkinter界面开发的全流程。这个课题既贴合“海事智能化”的产业战略,又涵盖了“目标检测、深度学习、界面开发”等多个毕设评分点,非常适合作为计算机或海事工程专业的毕业设计。在实践中,你可能会遇到“海面背景复杂导致船只漏检”“微小船只识别精度不足”“UI与模型推理同步卡顿”等挑战——别担心,这些都是技术成长的必经之路。

FJN110的博客 108

fastJson解析空指针异常与防范VS从Map、JSONObject取不存在键值对时的异常情况

0x01 问题描述 正常情况下fastJson解析失败会抛异常,但解析字符串数据为null、”“、“ ”这些情况下,fastJson返回null对象而不会抛异常,这样在调用对象时就导致了空指针异常的问题。 0x02 解决方案 对此,不亦对其进行了一个简单的封装,在上述情况解析出null对象时直接抛异常。 0x03 代码 import com.alibaba.fastjson.JSON;...

u012045045的博客 4201

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

json的解析报错

发现一个问题 json解析会异常第一次用的net.sf.json.JSONObject的包,解析一个不存在的键,getString()会发生异常,而用alilibaba的JSONObject则不会报错,最多只是一个null List<String> seedBrokers =new ArrayList<String>(); net.sf.json.JSONObj...

老秦的博客 1677

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

JSONObject中的get与getString

net.sf.json包中的JSONObject方法: private boolean nullObject; private Map properties; public Object get(String key) { this.verifyIsNull(); return this.properties.get(key);...

u011277123的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

手把手解决JSONObject.getString()报错:三大JSON库深度剖析与避坑指南

本文深入探讨了Java中使用JSONObject.getString()时可能遇到的错误及其解决方案。通过分析三大主流JSON库(org.json、net.sf.json、com.alibaba.fastjson)的特点与用法,提供了有效的避坑指南和最佳实践,帮助开发者快速修复代码中的问题,提高JSON数据处理的安全性与效率。

领码SPARK - 以无代码之星火,燎原数字之未来! 2508

JSONObject的optString和getString的区别、

常见使用原生的解析json方法: `JSONObject jsonObject = new JSONObject(); String str1 = jsonObject.optString("6不6"); String str2 = jsonObject.optString("6不6","默认6"); try { String str3 = jsonObj...

Traveling_Light8的博客 1997

jsonObject.getString()解析任意字段均可强转为string

在项目中一直用String s = jsonObject.getString( "s" )来获取字段,突然有一天我们安卓组同事跟后端说,让他们传json数据全部用string类型,否则如果一会传int一会又是string的话我们安卓端解析容易报类型转换异常。 咋一听感觉好像有一定的道理,于是我就把获取的json字符串打印出来,一看确实有的是int有的string。然而奇怪的是,我所有的项目都是用...

StaticMan的博客 1万+

【CodeReview】JSON取值空指针问题

JSONObject,JSONArray,Integer.如果接口数据格式返回错误。或者其他原因导致不存在该字段。导致崩溃 比如: list_operation.getJSONObject("code"); 如果不存在code字段。取值时候回报空指针异常(java.lang.NullPointerException)。 类型错误,会报类转换异常(java.lang.ClassCastExcept...

明天你好-博客 2048

JsonObject 的getString方法

   在项目中一直用String s = jsonObject.getString( "s" )来获取字段,突然有一天*******,让他们传json数据全部用string类型,否则如果一会传int一会又是string的话我们安卓端解析容易报类型转换异常。咋一听感觉好像有一定的道理,于是我就把获取的json字符串打印出来,一看确实有的是int有的string。然而奇怪的是,我所有的项目都是用get...

GoodIdea 5万+

使用android studio创建get、set时String类型的不等于null的方法

在使用Android Studio的时候,有的时候,创建了实体类,需要get、set,但当前值是string类型的,需要让不能与null,手动一个一个修改太麻烦,现在记录下我的办法 1、创建实体后,点击快捷键(Alt+insert),出现生成Getter and Setter,点击后, 2、点击图1, 添加一个属于自己的get模板,然后在设置的模板中添加get模板 set模板同上 ...

qq_34080064的博客 1575

使用JSONObject.getString()时报错:Cannot resolve method ‘getString‘ in ‘JSONObject‘,详解JSONObject三种库的用法

通过以上对比可以发现,虽然这三种库都可以操作 JSON 数据,但它们的功能设计和使用场景各不相同: org.json.JSONObject 适合基础场景,方法直观易懂。 org.json.simple.JSONObject 功能最简单,需要更多手动操作。 cn.hutool.json.JSONObject 适合复杂项目,提供了更强的扩展能力。

RenGJ010617的博客 6738

JSONObject中getString和optString之间的区别

JSONObject中的getString和optString

J_novice的博客 1055

获取json格式的内容数据时,使用的方法避免空指针

1.三元表达式 String value = json.containsKey(“Key”) ? json.getString(“Key”) : “”; 2.if 条件判断 if (json.get(“Key”)!=null && !"".equals(json.get(“Key”))) { String value= json.get(“Key”).toString(); } 获取为空字符串的时候使用toString方法会报空指针。需要先进行非空判断,推荐第一种方式 ...

故事的小黄花的博客 997

JSONObject空指针 java.lang.NullPointerException:null

问题解决,使用JSONObject空指针

weixin_43320890的博客 1285
上一篇: Android Handler笔记
下一篇: MySql 通过ODBC转 SQLServer
Scorpio_ya
博客等级 码龄15年 9粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值