内容简介:翻译自: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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 《分布式对象存储》作者手把手教你写 GO 语言单元测试!
- OC对象的本质 实例对象,类对象,元类对象
- 可迭代对象,迭代器(对象),生成器(对象)
- 重学前端学习笔记(七)--JavaScript对象:面向对象还是基于对象?
- Webform 内置对象 Session对象、Application全局对象,ViewState详细介绍
- 对象.原型链,函数.原型对象
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!