Estoy consiguiendo este LogCat:Pruebas de objetos JSON nulos en Java/Android
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)
Aquí es código:
try
{
jObject = new JSONObject(result);
starAvg = jObject.getString("AverageRating");
}
ratingsBar = (RatingBar) findViewById(R.id.theRatingBar);
ratingsBar.setRating(Float.valueOf(starAvg));
Aquí está el contexto:
En PHP, yo soy promediar números totales en una columna en una tabla MySQL. Cuando hay CUALQUIER fila, enviará un promedio de los datos en ella y la codificará, y Java la recogerá como un objeto JSON. Pero a veces, hay casos en que una tabla puede tener 0 filas, por lo que obtener este JSON del objeto:
{"AverageRating":null}
Mi aplicación a continuación, los accidentes y la LogCat
es como se ha visto anteriormente.
El String
no parece importarle si capta un Objeto JSON nulo, pero la aplicación se bloquea cuando lo hago Float.valueOf(theString)
.
Otra nota al margen, me han tratado de probar de esta manera:
if String is Null, Float = 0
if String is not null, Float.valueOF(String)
Pero no parece nunca para leer la cadena como nula. ¿En realidad NO es null
en este caso?
'Vipul.isGenius (Shah)? +1: nulo' – capdragon
@capdragon Me complace ayudarte :) –
Tras una evaluación posterior, muevo esta respuesta a la correcta. – KickingLettuce