@Override public Double fromJson(JsonReader reader) throws IOException { return reader.nextDouble(); }
@Override public Float fromJson(JsonReader reader) throws IOException { float value = (float) reader.nextDouble(); // Double check for infinity after float conversion; many doubles > Float.MAX if (!reader.isLenient() && Float.isInfinite(value)) { throw new JsonDataException("JSON forbids NaN and infinities: " + value + " at path " + reader.getPath()); } return value; }
return nextDouble();
@Override public Double fromJson(JsonReader reader) throws IOException { return reader.nextDouble(); }
@Override public Float fromJson(JsonReader reader) throws IOException { float value = (float) reader.nextDouble(); // Double check for infinity after float conversion; many doubles > Float.MAX if (!reader.isLenient() && Float.isInfinite(value)) { throw new JsonDataException("JSON forbids NaN and infinities: " + value + " at path " + reader.getPath()); } return value; }
@Override public GeoCode fromJson(JsonReader reader) throws IOException { // Using nulls to ensure the values where set. Double latitude = null; Double longitude = null; int accuracy = 0; reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if (reader.peek() == Token.NULL) { reader.skipValue(); continue; } if ("accuracy" .equals(name)) { accuracy = reader.nextInt(); } else if ("latitude" .equals(name)) { latitude = reader.nextDouble(); } else if ("longitude" .equals(name)) { longitude = reader.nextDouble(); } else { reader.skipValue(); } } reader.endObject(); if (latitude == null || longitude == null) return null; return new GeoCode(accuracy, latitude, longitude); }
@Override public TimeZone fromJson(JsonReader reader) throws IOException { String timeZoneName = null; Double utcOffset = null; reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if (reader.peek() == Token.NULL) { reader.skipValue(); continue; } if ("name" .equals(name)) { timeZoneName = reader.nextString(); } else if ("utc_offset" .equals(name)) { utcOffset = reader.nextDouble(); } else { reader.skipValue(); } } reader.endObject(); if (timeZoneName != null && utcOffset != null) return new TimeZone(timeZoneName, utcOffset); return null; }
break; case "latitude": user.latitude = reader.nextDouble(); break; case "longitude": user.longitude = reader.nextDouble(); break; case "tags":