在Java / Android中测试空JSON对象

栏目: Android · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/11165192/testing-for-null-json-objects-in-java-android

我得到这个LogCat:

06-22 15:30:53.731: E/AndroidRuntime(2389): java.lang.NumberFormatException: Invalid float: "null"
06-22 15:30:53.731: E/AndroidRuntime(2389):     at java.lang.StringToReal.invalidReal(StringToReal.java:63)
06-22 15:30:53.731: E/AndroidRuntime(2389):     at java.lang.StringToReal.parseFloat(StringToReal.java:310)
06-22 15:30:53.731: E/AndroidRuntime(2389):     at java.lang.Float.parseFloat(Float.java:300)
06-22 15:30:53.731: E/AndroidRuntime(2389):     at java.lang.Float.valueOf(Float.java:337)

这是代码:

try
{
    jObject = new JSONObject(result);
    starAvg = jObject.getString("AverageRating"); 
}
ratingsBar = (RatingBar) findViewById(R.id.theRatingBar);
ratingsBar.setRating(Float.valueOf(starAvg));

以下是上下文:

PHP 中,我在 MySQL 表的列中平均总数.当存在任何行时,它将发回其中的平均数据并对其进行编码,Java将其作为JSON对象进行选择.但有时,有些情况下表可能有0行,所以我得到这个JSON对象:

{"AverageRating":null}

我的应用程序然后崩溃,LogCat如上所示.

如果它拿起一个Null JSON对象,但是当我执行Float.valueOf(theString)时应用程序崩溃,String似乎并不关心.

另一方面,我试图以这种方式进行测试:

if String is Null, Float = 0 
if String is not null, Float.valueOF(String)

但它似乎永远不会将String读为null.在这种情况下,它实际上不是null吗?

使用以下JsonObject方法检查针对任何键的值是否为null

public boolean isNull(java.lang.String key)

此方法用于针对任何键检查Null,或者如果没有键值.

使用下面的代码段

if (jsonObject.isNull("AverageRating")) {
    Toast.makeText(this, "Cannot Convert!!", Toast.LENGTH_LONG).show();
    //float set to 0
} else {
    Float.valueOf(jsonObject.getString("AverageRating"));
}

翻译自:https://stackoverflow.com/questions/11165192/testing-for-null-json-objects-in-java-android


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高性能网站建设进阶指南

高性能网站建设进阶指南

Steve Souders / 口碑网前端团队 / 电子工业出版社 / 2010年4月 / 49.80元

性能是任何一个网站成功的关键,然而,如今日益丰富的内容和大量使用Ajax的Web应用程序已迫使浏览器达到其处理能力的极限。Steve Souders是Google Web性能布道者和前Yahoo!首席性能工程师,他在本书中提供了宝贵的技术来帮助你优化网站性能。 Souders的上一本畅销书《高性能网站建设指南》(High Performance Web Sites)震惊了Web开发界,它揭示......一起来看看 《高性能网站建设进阶指南》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具