List of usage examples for com.google.gson.stream JsonWriter nullValue
public JsonWriter nullValue() throws IOException
From source file:ToStringSerializedTypeAdapter.java
License:Apache License
@Override public void write(JsonWriter out, T value) throws IOException { if (value == null) { out.nullValue(); } else {/*from www . j a v a 2s . c o m*/ out.value(value.toString()); } }
From source file:LongDateTypeAdapter.java
License:Apache License
@Override public void write(JsonWriter out, Date value) throws IOException { if (value == null) { out.nullValue(); } else {//from ww w . j a va 2 s. c o m out.value(String.valueOf(value.getTime())); } }
From source file:InstantTypeAdapter.java
License:Apache License
@Override public void write(JsonWriter out, Instant value) throws IOException { if (value == null) { out.nullValue(); } else {/* ww w . ja v a2 s . co m*/ out.value(value.toString()); } }
From source file:BundleTypeAdapterFactory.java
License:Apache License
@SuppressWarnings("unchecked") @Override// w ww.j a va2 s.c o m public <T> TypeAdapter<T> create(final Gson gson, TypeToken<T> type) { if (!Bundle.class.isAssignableFrom(type.getRawType())) { return null; } return (TypeAdapter<T>) new TypeAdapter<Bundle>() { @Override public void write(JsonWriter out, Bundle bundle) throws IOException { if (bundle == null) { out.nullValue(); return; } out.beginObject(); for (String key : bundle.keySet()) { out.name(key); Object value = bundle.get(key); if (value == null) { out.nullValue(); } else { gson.toJson(value, value.getClass(), out); } } out.endObject(); } @Override public Bundle read(JsonReader in) throws IOException { switch (in.peek()) { case NULL: in.nextNull(); return null; case BEGIN_OBJECT: return toBundle(readObject(in)); default: throw new IOException("expecting object: " + in.getPath()); } } private Bundle toBundle(List<Pair<String, Object>> values) throws IOException { Bundle bundle = new Bundle(); for (Pair<String, Object> entry : values) { String key = entry.first; Object value = entry.second; if (value instanceof String) { bundle.putString(key, (String) value); } else if (value instanceof Integer) { bundle.putInt(key, ((Integer) value).intValue()); } else if (value instanceof Long) { bundle.putLong(key, ((Long) value).longValue()); } else if (value instanceof Double) { bundle.putDouble(key, ((Double) value).doubleValue()); } else if (value instanceof Parcelable) { bundle.putParcelable(key, (Parcelable) value); } else if (value instanceof List) { List<Pair<String, Object>> objectValues = (List<Pair<String, Object>>) value; Bundle subBundle = toBundle(objectValues); bundle.putParcelable(key, subBundle); } else { throw new IOException("Unparcelable key, value: " + key + ", " + value); } } return bundle; } private List<Pair<String, Object>> readObject(JsonReader in) throws IOException { List<Pair<String, Object>> object = new ArrayList<Pair<String, Object>>(); in.beginObject(); while (in.peek() != JsonToken.END_OBJECT) { switch (in.peek()) { case NAME: String name = in.nextName(); Object value = readValue(in); object.add(new Pair<String, Object>(name, value)); break; case END_OBJECT: break; default: throw new IOException("expecting object: " + in.getPath()); } } in.endObject(); return object; } private Object readValue(JsonReader in) throws IOException { switch (in.peek()) { case BEGIN_ARRAY: return readArray(in); case BEGIN_OBJECT: return readObject(in); case BOOLEAN: return in.nextBoolean(); case NULL: in.nextNull(); return null; case NUMBER: return readNumber(in); case STRING: return in.nextString(); default: throw new IOException("expecting value: " + in.getPath()); } } private Object readNumber(JsonReader in) throws IOException { double doubleValue = in.nextDouble(); if (doubleValue - Math.ceil(doubleValue) == 0) { long longValue = (long) doubleValue; if (longValue >= Integer.MIN_VALUE && longValue <= Integer.MAX_VALUE) { return (int) longValue; } return longValue; } return doubleValue; } @SuppressWarnings("rawtypes") private List readArray(JsonReader in) throws IOException { List list = new ArrayList(); in.beginArray(); while (in.peek() != JsonToken.END_ARRAY) { Object element = readValue(in); list.add(element); } in.endArray(); return list; } }; }
From source file:DateTimeTypeAdapter.java
License:Apache License
@Override public void write(JsonWriter out, DateTime value) throws IOException { if (value == null) { out.nullValue(); } else {/*from ww w . ja va 2s.c o m*/ out.value(value.toString()); } }
From source file:abtlibrary.utils.as24ApiClient.JSON.java
License:Apache License
@Override public void write(JsonWriter out, DateTime date) throws IOException { if (date == null) { out.nullValue(); } else {/* w ww . j a v a 2 s .com*/ out.value(formatter.print(date)); } }
From source file:abtlibrary.utils.as24ApiClient.JSON.java
License:Apache License
@Override public void write(JsonWriter out, LocalDate date) throws IOException { if (date == null) { out.nullValue(); } else {//from w w w . j a va 2 s. c o m out.value(formatter.print(date)); } }
From source file:at.yawk.mojangapi.InstantTypeAdapter.java
License:Mozilla Public License
@Override public void write(JsonWriter out, Instant value) throws IOException { if (value == null) { out.nullValue(); } else {//from www . ja v a2 s . c o m out.value(value.toEpochMilli()); } }
From source file:at.yawk.mojangapi.UUIDTypeAdapter.java
License:Mozilla Public License
@Override public void write(JsonWriter out, UUID value) throws IOException { if (value == null) { out.nullValue(); } else {/* w w w . j a v a 2 s . c om*/ out.value(stripDashes(value)); } }
From source file:blog.ClassTypeAdapter.java
License:Apache License
@Override public void write(JsonWriter jsonWriter, Class<?> clazz) throws IOException { if (clazz == null) { jsonWriter.nullValue(); return;/*w w w .ja va2s . co m*/ } jsonWriter.value(clazz.getName()); }