在Java / Android中测试空JSON对象

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

内容简介:翻译自: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


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

查看所有标签

猜你喜欢:

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

Beginning ASP.NET 4 in C# and Vb

Beginning ASP.NET 4 in C# and Vb

Imar Spaanjaars / Wrox / 2010-3-19 / GBP 29.99

This book is for anyone who wants to learn how to build rich and interactive web sites that run on the Microsoft platform. With the knowledge you gain from this book, you create a great foundation to ......一起来看看 《Beginning ASP.NET 4 in C# and Vb》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具