List of usage examples for com.google.gson.stream JsonReader nextNull
public void nextNull() throws IOException
From source file:cn.ieclipse.af.demo.sample.volley.adapter.StringAdapter.java
License:Apache License
@Override public String read(JsonReader reader) { String text = ""; try {// w w w .j a va 2 s. co m if (reader.peek() == JsonToken.NULL) { reader.nextNull(); text = "";//Null } else { text = reader.nextString(); } } catch (Exception e) { e.printStackTrace(); } return text; }
From source file:co.cask.cdap.common.io.CaseInsensitiveEnumTypeAdapterFactory.java
License:Apache License
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { @SuppressWarnings("unchecked") Class<T> rawType = (Class<T>) type.getRawType(); if (!rawType.isEnum()) { return null; }//from w w w . j ava2s . com final Map<String, T> lowercaseToConstant = new HashMap<>(); for (T constant : rawType.getEnumConstants()) { lowercaseToConstant.put(toLowercase(constant), constant); } return new TypeAdapter<T>() { public void write(JsonWriter out, T value) throws IOException { if (value == null) { out.nullValue(); } else { out.value(toLowercase(value)); } } public T read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } else { return lowercaseToConstant.get(toLowercase(reader.nextString())); } } }; }
From source file:co.cask.cdap.format.StructuredRecordStringConverter.java
License:Apache License
private static Object readJson(JsonReader reader, Schema schema) throws IOException { switch (schema.getType()) { case NULL:/*from w w w. j ava2 s .c o m*/ reader.nextNull(); return null; case BOOLEAN: return reader.nextBoolean(); case INT: return reader.nextInt(); case LONG: return reader.nextLong(); case FLOAT: // Force down cast return (float) reader.nextDouble(); case DOUBLE: return reader.nextDouble(); case BYTES: return readBytes(reader); case STRING: return reader.nextString(); case ENUM: // Currently there is no standard container to represent enum type return reader.nextString(); case ARRAY: return readArray(reader, schema.getComponentSchema()); case MAP: return readMap(reader, schema.getMapSchema()); case RECORD: return readRecord(reader, schema); case UNION: return readUnion(reader, schema); } throw new IOException("Unsupported schema: " + schema); }
From source file:co.forsaken.projectindigo.utils.mojangtokens.EnumTypeAdapterFactory.java
License:Open Source License
@SuppressWarnings("unchecked") @Override// w w w .j a v a 2 s . c o m public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { if (!type.getRawType().isEnum()) { return null; } final Map<String, T> map = new HashMap<String, T>(); for (T c : (T[]) type.getRawType().getEnumConstants()) { map.put(c.toString().toLowerCase(Locale.US), c); } return new TypeAdapter<T>() { @Override public T read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } String name = reader.nextString(); if (name == null) { return null; } return map.get(name.toLowerCase(Locale.US)); } @Override public void write(JsonWriter writer, T value) throws IOException { if (value == null) { writer.nullValue(); } else { writer.value(value.toString().toLowerCase(Locale.US)); } } }; }
From source file:com.aelitis.azureus.util.ObjectTypeAdapterLong.java
License:Apache License
@Override public Object read(JsonReader in) throws IOException { JsonToken token = in.peek();//from w ww . j a va 2 s .c o m switch (token) { case BEGIN_ARRAY: List<Object> list = new ArrayList<Object>(); in.beginArray(); while (in.hasNext()) { list.add(read(in)); } in.endArray(); return list; case BEGIN_OBJECT: Map<String, Object> map = new LinkedTreeMap<String, Object>(); in.beginObject(); while (in.hasNext()) { map.put(in.nextName(), read(in)); } in.endObject(); return map; case STRING: return in.nextString(); case NUMBER: { String value = in.nextString(); if (value.indexOf('.') >= 0) { return Double.parseDouble(value); } else { return Long.parseLong(value); } } case BOOLEAN: return in.nextBoolean(); case NULL: in.nextNull(); return null; default: throw new IllegalStateException(); } }
From source file:com.antew.redditinpictures.library.gson.VoteAdapter.java
License:Apache License
@Override public Vote read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return Vote.NEUTRAL; }/*from w ww .jav a 2 s. c om*/ return reader.nextBoolean() ? Vote.UP : Vote.DOWN; }
From source file:com.atlauncher.workers.EnumTypeAdapterFactory.java
License:Creative Commons License
@Override public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) { if (!type.getRawType().isEnum()) return null; final Map<String, T> map = new HashMap<String, T>(); for (T c : (T[]) type.getRawType().getEnumConstants()) { map.put(c.toString().toLowerCase(Locale.US), c); }/*from w ww . ja v a2 s . c o m*/ return new TypeAdapter<T>() { @Override public T read(JsonReader reader) throws IOException { if (reader.peek() == JsonToken.NULL) { reader.nextNull(); return null; } String name = reader.nextString(); if (name == null) return null; return map.get(name.toLowerCase(Locale.US)); } @Override public void write(JsonWriter writer, T value) throws IOException { if (value == null) { writer.nullValue(); } else { writer.value(value.toString().toLowerCase(Locale.US)); } } }; }
From source file:com.bzcentre.dapiPush.ReceipientTypeAdapter.java
License:Open Source License
@Override public Receipient read(JsonReader in) throws IOException, IllegalStateException, JsonParseException, NumberFormatException { NginxClojureRT.log.debug(TAG + " invoked..."); Receipient receipient = new Receipient(); if (in.peek() == JsonToken.NULL) { in.nextNull(); return null; }/*from w w w . j a va2s. com*/ in.beginObject(); while (in.hasNext()) { switch (in.nextName()) { case "apns_token": if (in.peek() == JsonToken.NULL) { in.nextNull(); } else receipient.setApns_Token(in.nextString()); break; case "fcm_token": if (in.peek() == JsonToken.NULL) { in.nextNull(); } else receipient.setFcm_Token(in.nextString()); break; case "payload": receipient.setPayload(extractPayload(in)); break; } } in.endObject(); NginxClojureRT.log.debug(TAG + "Deserializing and adding receipient of " + (receipient.getApns_Token() == null ? "fcm--" + receipient.getFcm_Token() : "apns--" + receipient.getApns_Token())); return receipient; }
From source file:com.bzcentre.dapiPush.ReceipientTypeAdapter.java
License:Open Source License
private MeetingPayload extractPayload(JsonReader in) throws IOException, NumberFormatException, IllegalStateException, JsonParseException { NginxClojureRT.log.debug(TAG + "TypeAdapter extracting Payload..."); MeetingPayload meetingPayload = new MeetingPayload(); if (in.peek() == JsonToken.NULL) { in.nextNull(); throw new JsonParseException("null Payload"); }//from ww w. ja va 2 s. c o m in.beginObject(); while (in.hasNext()) { switch (in.nextName()) { case "aps": in.beginObject(); while (in.hasNext()) { switch (in.nextName()) { case "badge": meetingPayload.getAps().setBadge(in.nextLong()); break; case "sound": meetingPayload.getAps().setSound(in.nextString()); break; case "alert": in.beginObject(); while (in.hasNext()) { switch (in.nextName()) { case "title": meetingPayload.getAps().getAlert().setTitle(in.nextString()); break; case "body": meetingPayload.getAps().getAlert().setBody(in.nextString()); break; case "action-loc-key": meetingPayload.getAps().getAlert().setActionLocKey(in.nextString()); break; } } in.endObject(); break; } } in.endObject(); break; case "dapi": meetingPayload.setDapi(in.nextString()); break; case "acme1": meetingPayload.setAcme1(in.nextString()); break; case "acme2": meetingPayload.setAcme2(in.nextLong()); break; case "acme3": meetingPayload.setAcme3(in.nextLong()); break; case "acme4": NginxClojureRT.log.info(TAG + "TypeAdapter Reader is reading acme4..."); meetingPayload.setAcme4(in.nextLong()); break; case "acme5": meetingPayload.setAcme5(in.nextLong()); break; case "acme6": meetingPayload.setAcme6(in.nextLong()); break; case "acme7": ArrayList<String> attendees = new ArrayList<>(); in.beginArray(); while (in.hasNext()) { attendees.add(in.nextString()); } in.endArray(); meetingPayload.setAcme7(attendees); break; case "acme8": meetingPayload.setAcme8(in.nextString()); break; } } in.endObject(); return meetingPayload; }
From source file:com.cardinity.json.UtcDateTypeAdapter.java
License:Apache License
@Override public Date read(JsonReader in) throws IOException { try {//from www .ja va2 s . com switch (in.peek()) { case NULL: in.nextNull(); return null; default: String date = in.nextString(); // Instead of using iso8601Format.parse(value), we use Jackson's date parsing // This is because Android doesn't support XXX because it is JDK 1.6 return parse(date, new ParsePosition(0)); } } catch (ParseException e) { throw new JsonParseException(e); } }