List of usage examples for com.google.gson.stream JsonReader nextNull
public void nextNull() throws IOException
From source file:com.google.maps.internal.LocalTimeAdapter.java
License:Open Source License
/** * Read a time from the Places API and convert to a {@link LocalTime} *///w ww . j ava2s. co m @Override public LocalTime read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } if (reader.peek() == JsonToken.STRING) { DateTimeFormatter dtf = DateTimeFormat.forPattern("HHmm"); return LocalTime.parse(reader.nextString(), dtf); } throw new UnsupportedOperationException("Unsupported format"); }
From source file:com.google.maps.internal.PriceLevelAdapter.java
License:Open Source License
@Override public PriceLevel read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; }//from w w w . j av a 2s. c o m if (reader.peek() == JsonToken.NUMBER) { int priceLevel = reader.nextInt(); switch (priceLevel) { case 0: return PriceLevel.FREE; case 1: return PriceLevel.INEXPENSIVE; case 2: return PriceLevel.MODERATE; case 3: return PriceLevel.EXPENSIVE; case 4: return PriceLevel.VERY_EXPENSIVE; } } return PriceLevel.UNKNOWN; }
From source file:com.google.maps.internal.SafeEnumAdapter.java
License:Open Source License
@Override public E read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; }// w w w . jav a 2 s . c o m String value = reader.nextString(); try { return Enum.valueOf(clazz, value.toUpperCase(Locale.ENGLISH)); } catch (IllegalArgumentException iae) { log.warning(String.format("Unknown type for enum %s: '%s'", clazz.getName(), value)); return unknownValue; } }
From source file:com.google.maps.internal.TravelModeAdapter.java
License:Open Source License
/** * Read a travel mode from a Directions API result and convert it to a {@link TravelMode}. *///w w w.j a v a2 s.c o m @Override public TravelMode read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } return TravelMode.lookup(reader.nextString()); }
From source file:com.greensopinion.finance.services.persistence.DateTypeAdapter.java
License:Apache License
@Override public Date read(JsonReader reader) throws IOException { if (reader.peek().equals(JsonToken.NULL)) { reader.nextNull(); return null; }// w w w. j av a 2 s . c o m String value = reader.nextString(); try { return dateFormat().parse(value); } catch (ParseException e) { throw new IOException(format("Expected a date but got \"{0}\"", value)); } }
From source file:com.gs.reladomo.serial.gson.GsonWrappedListTypedAdapter.java
License:Apache License
@Override public SerializedList<U, T> read(JsonReader jsonReader) throws IOException { ReladomoDeserializer deserializer;//from w w w . java2s .c o m if (this.typeClass == null) { deserializer = new ReladomoDeserializer(); } else { deserializer = new ReladomoDeserializer(typeClass); } deserializer.setIgnoreUnknown(); JsonDeserializerState state = JsonDeserializerState.ListStartState.INSTANCE; while (true) { JsonToken nextToken = jsonReader.peek(); //BEGIN_ARRAY, END_ARRAY, BEGIN_OBJECT, END_OBJECT, NAME, STRING, NUMBER, BOOLEAN, NULL, END_DOCUMENT; if (JsonToken.BEGIN_OBJECT == nextToken) { jsonReader.beginObject(); state = state.startObject(deserializer); } else if (JsonToken.END_OBJECT == nextToken) { jsonReader.endObject(); state = state.endObject(deserializer); } else if (JsonToken.BEGIN_ARRAY == nextToken) { jsonReader.beginArray(); state = state.startArray(deserializer); } else if (JsonToken.END_ARRAY == nextToken) { jsonReader.endArray(); state = state.endArray(deserializer); } else if (JsonToken.BOOLEAN == nextToken) { if (jsonReader.nextBoolean()) { state = state.valueTrue(deserializer); } else { state = state.valueFalse(deserializer); } } else if (JsonToken.NAME == nextToken) { String name = jsonReader.nextName(); state = state.fieldName(name, deserializer); } else if (JsonToken.NUMBER == nextToken) { String value = jsonReader.nextString(); state = state.valueString(value, deserializer); // we do the parsing to avoid precision loss } else if (JsonToken.STRING == nextToken) { String value = jsonReader.nextString(); Attribute attribute = deserializer.getCurrentAttribute(); if (attribute instanceof TimestampAttribute) { Timestamp timestamp = GsonReladomoTypeAdapterSerialWriter.jsonToTimestamp(value); state = state.valueTimestamp(timestamp, deserializer); } else { state = state.valueString(value, deserializer); } } else if (JsonToken.NULL == nextToken) { jsonReader.nextNull(); state = state.valueNull(deserializer); } else if (JsonToken.END_DOCUMENT == nextToken) { break; } } return deserializer.getDeserializedResultAsList(); }
From source file:com.gs.reladomo.serial.gson.GsonWrappedTypedAdapter.java
License:Apache License
@Override public Serialized<T> read(JsonReader jsonReader) throws IOException { ReladomoDeserializer deserializer;/* w w w . j av a 2 s . c o m*/ if (this.typeClass == null) { deserializer = new ReladomoDeserializer(); } else { deserializer = new ReladomoDeserializer(typeClass); } deserializer.setIgnoreUnknown(); JsonDeserializerState state = JsonDeserializerState.NormalParserState.INSTANCE; while (true) { JsonToken nextToken = jsonReader.peek(); //BEGIN_ARRAY, END_ARRAY, BEGIN_OBJECT, END_OBJECT, NAME, STRING, NUMBER, BOOLEAN, NULL, END_DOCUMENT; if (JsonToken.BEGIN_OBJECT == nextToken) { jsonReader.beginObject(); state = state.startObject(deserializer); } else if (JsonToken.END_OBJECT == nextToken) { jsonReader.endObject(); state = state.endObject(deserializer); } else if (JsonToken.BEGIN_ARRAY == nextToken) { jsonReader.beginArray(); state = state.startArray(deserializer); } else if (JsonToken.END_ARRAY == nextToken) { jsonReader.endArray(); state = state.endArray(deserializer); } else if (JsonToken.BOOLEAN == nextToken) { if (jsonReader.nextBoolean()) { state = state.valueTrue(deserializer); } else { state = state.valueFalse(deserializer); } } else if (JsonToken.NAME == nextToken) { String name = jsonReader.nextName(); state = state.fieldName(name, deserializer); } else if (JsonToken.NUMBER == nextToken) { String value = jsonReader.nextString(); state = state.valueString(value, deserializer); // we do the parsing to avoid precision loss } else if (JsonToken.STRING == nextToken) { String value = jsonReader.nextString(); Attribute attribute = deserializer.getCurrentAttribute(); if (attribute instanceof TimestampAttribute) { Timestamp timestamp = GsonReladomoTypeAdapterSerialWriter.jsonToTimestamp(value); state = state.valueTimestamp(timestamp, deserializer); } else { state = state.valueString(value, deserializer); } } else if (JsonToken.NULL == nextToken) { jsonReader.nextNull(); state = state.valueNull(deserializer); } else if (JsonToken.END_DOCUMENT == nextToken) { break; } } return deserializer.getDeserializedResult(); }
From source file:com.ibm.watson.developer_cloud.alchemy.v1.util.ImageKeywordTypeAdapter.java
License:Open Source License
@Override public ImageKeyword read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; }/*from w w w. j a v a2 s . co m*/ final ImageKeyword ImageKeyword = new ImageKeyword(); reader.beginObject(); while (reader.hasNext()) { final String name = reader.nextName(); if (name.equals("text")) { final String text = reader.nextString(); ImageKeyword.setText(text); } else if (name.equals("score")) { final String score = reader.nextString(); if (score != null && !score.isEmpty()) ImageKeyword.setScore(Double.valueOf(score)); } else { reader.skipValue(); } } reader.endObject(); return ImageKeyword; }
From source file:com.ibm.watson.developer_cloud.alchemy.v1.util.PublicationDateTypeAdapter.java
License:Open Source License
@Override public PublicationDate read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; }//from w w w. j a v a2s. co m final PublicationDate publicationDate = new PublicationDate(); publicationDate.setConfident(true); reader.beginObject(); while (reader.hasNext()) { final String name = reader.nextName(); if (name.equals("confident")) { final String confidentAsString = reader.nextString(); publicationDate.setConfident(confidentAsString == null || !confidentAsString.equals("no")); } else if (name.equals("date")) { final String dateAsString = reader.nextString(); if (dateAsString != null && !dateAsString.isEmpty()) try { publicationDate.setDate(df.parse(dateAsString)); } catch (final ParseException e) { log.log(Level.SEVERE, "Error parsing: " + dateAsString, e); } } else { reader.skipValue(); } } reader.endObject(); return publicationDate; }
From source file:com.ibm.watson.developer_cloud.alchemy.v1.util.TaxonomyTypeAdapter.java
License:Open Source License
@Override public Taxonomy read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; }/* www .j a v a 2 s. co m*/ final Taxonomy taxonomy = new Taxonomy(); taxonomy.setConfident(true); reader.beginObject(); while (reader.hasNext()) { final String name = reader.nextName(); if (name.equals("confident")) { final String confidentAsString = reader.nextString(); taxonomy.setConfident(confidentAsString == null || !confidentAsString.equals("no")); } else if (name.equals("label")) { final String label = reader.nextString(); taxonomy.setLabel(label); } else if (name.equals("score")) { final Double score = reader.nextDouble(); taxonomy.setScore(score); } else { reader.skipValue(); } } reader.endObject(); return taxonomy; }