@Override public void toJson(JsonWriter writer, T value) throws IOException { try { writer.beginObject(); for (FieldBinding<?> fieldBinding : fieldsArray) { writer.name(fieldBinding.name); fieldBinding.write(writer, value); } writer.endObject(); } catch (IllegalAccessException e) { throw new AssertionError(); } }
@Override public void toJson(JsonWriter writer, Object value) throws IOException { Class<?> type = value.getClass(); int labelIndex = subtypes.indexOf(type); if (labelIndex == -1) { throw new IllegalArgumentException("Expected one of " + subtypes + " but found " + value + ", a " + value.getClass() + ". Register this subtype."); } JsonAdapter<Object> adapter = jsonAdapters.get(labelIndex); writer.beginObject(); writer.name(labelKey).value(labels.get(labelIndex)); int flattenToken = writer.beginFlatten(); adapter.toJson(writer, value); writer.endFlatten(flattenToken); writer.endObject(); }
/** * Generates a dummy package.json file to silence npm warnings */ private void writePackageFile(File apolloPackageFile) { try { JsonWriter writer = JsonWriter.of(Okio.buffer(Okio.sink(apolloPackageFile))); writer.beginObject(); writer.name("name").value("apollo-android"); writer.name("version").value("0.0.1"); writer.name("description").value("Generates Java code based on a GraphQL schema and query documents. Uses " + "apollo-codegen under the hood."); writer.name("name").value("apollo-android"); writer.name("repository"); writer.beginObject(); writer.name("type").value("git"); writer.name("url").value("git+https://github.com/apollostack/apollo-android.git"); writer.endObject(); writer.name("author").value("Apollo"); writer.name("license").value("MIT"); writer.endObject(); writer.close(); } catch (IOException e) { e.printStackTrace(); } }
@Override public void toJson(JsonWriter out, @Nullable M message) throws IOException { if (message == null) { out.nullValue(); return; } out.beginObject(); for (int i = 0; i < fieldBindings.length; i++) { FieldBinding<M, B> fieldBinding = fieldBindings[i]; out.name(fieldBinding.name); Object value = fieldBinding.get(message); ((JsonAdapter) jsonAdapters[i]).toJson(out, value); } out.endObject(); }
private String createJsonObject(final Map<String, Object> parameterMap) throws IOException { Buffer b = new Buffer(); JsonWriter writer = JsonWriter.of(b); writer.beginObject(); for (Entry<String, Object> pair : parameterMap.entrySet()) { String name = pair.getKey(); Object value = pair.getValue(); if (value instanceof Number) { Number number = (Number) value; writer.name(name).value(number); } else if (value instanceof String) { writer.name(name).value((String) value); } else if (value instanceof Boolean) { writer.name(name).value((Boolean) value); } else { writer.name(name).value(String.valueOf(value)); } } writer.endObject(); return b.readString(Charset.forName("utf-8")); }
private String createJsonObject(final Map<String, Object> parameterMap) throws IOException { Buffer b = new Buffer(); JsonWriter writer = JsonWriter.of(b); writer.beginObject(); for (Entry<String, Object> pair : parameterMap.entrySet()) { String name = pair.getKey(); Object value = pair.getValue(); if (value instanceof Number) { Number number = (Number) value; writer.name(name).value(number); } else if (value instanceof String) { writer.name(name).value((String) value); } else if (value instanceof Boolean) { writer.name(name).value((Boolean) value); } else { writer.name(name).value(String.valueOf(value)); } } writer.endObject(); return b.readString(Charset.forName("utf-8")); }
@Override public void toJson(JsonWriter writer, T value) throws IOException { try { writer.beginObject(); for (FieldBinding<?> fieldBinding : fieldsArray) { writer.name(fieldBinding.name); fieldBinding.write(writer, value); } writer.endObject(); } catch (IllegalAccessException e) { throw new AssertionError(); } }
/** * Generates a dummy package.json file to silence npm warnings */ private void writePackageFile(File apolloPackageFile) { try { JsonWriter writer = JsonWriter.of(Okio.buffer(Okio.sink(apolloPackageFile))); writer.beginObject(); writer.name("name").value("apollo-android"); writer.name("version").value("0.0.1"); writer.name("description").value("Generates Java code based on a GraphQL schema and query documents. Uses " + "apollo-codegen under the hood."); writer.name("name").value("apollo-android"); writer.name("repository"); writer.beginObject(); writer.name("type").value("git"); writer.name("url").value("git+https://github.com/apollostack/apollo-android.git"); writer.endObject(); writer.name("author").value("Apollo"); writer.name("license").value("MIT"); writer.endObject(); writer.close(); } catch (IOException e) { e.printStackTrace(); } }
@Override public void toJson(@NonNull JsonWriter out, Item item) throws IOException { out.beginObject(); out.name(Item.ID).value(item.getId()); out.name(Item.CONTENT_HASH).value(item.getContentHash()); if(item.isUnreadChanged()) out.name("isUnread").value(item.isUnread()); if(item.isStarredChanged()) out.name("isStarred").value(item.isStarred()); out.endObject(); }
@Override public void toJson(JsonWriter writer, Object value) throws IOException { Class<?> type = value.getClass(); int labelIndex = subtypes.indexOf(type); if (labelIndex == -1) { throw new IllegalArgumentException("Expected one of " + subtypes + " but found " + value + ", a " + value.getClass() + ". Register this subtype."); } JsonAdapter<Object> adapter = jsonAdapters.get(labelIndex); writer.beginObject(); writer.name(labelKey).value(labels.get(labelIndex)); int flattenToken = writer.beginFlatten(); adapter.toJson(writer, value); writer.endFlatten(flattenToken); writer.endObject(); }
@Override public void toJson(@NonNull JsonWriter out, Feed feed) throws IOException { out.beginObject(); // Only write url for feeds that are not in the database if(!RealmObject.isManaged(feed)) { out.name("url"); out.value(feed.getUrl()); } out.name("folderId"); out.value(feed.getFolderId()); out.endObject(); }
writer.name("_id"); writer.value(user._id); writer.name("index"); writer.value(user.index); writer.name("guid"); writer.value(user.guid); writer.name("isActive"); writer.value(user.isActive); writer.name("balance"); writer.value(user.balance); writer.name("picture"); writer.value(user.picture); writer.name("age"); writer.value(user.age); writer.name("eyeColor"); writer.value(user.eyeColor); writer.name("name"); writer.value(user.name); writer.name("gender"); writer.value(user.gender);
private static void writeValueOrNull(JsonWriter writer, SafeCalendar calendar, String name, int field) throws IOException { writer.name(name); if (calendar.isSet(field)) { // Calendar and the XING API understand month differently. int value = calendar.get(field); writer.value(field == Calendar.MONTH ? value + 1 : value); } else { writer.nullValue(); } } }
/** * Recursively writes the respective roots forming a json object that resembles the {@code roots} and {@code * structure} of the {@linkplain CompositeType}. */ private static <T> void writeRootLeafs(JsonAdapter<T> adapter, JsonWriter writer, T value, String[] roots, int index) throws IOException { if (roots == null || index == roots.length) { adapter.toJson(writer, value); } else { writer.beginObject(); writeRootLeafs(adapter, writer.name(roots[index]), value, roots, ++index); writer.endObject(); } }
@Override public void moshi(com.squareup.moshi.JsonWriter writer, Users obj) throws IOException { writer.beginObject(); if (obj.users != null) { writer.name("users"); writer.beginArray(); for (User user : obj.users) { moshiUser(writer, user); } writer.endArray(); } writer.endObject(); }
/** * Recursively writes the respective roots forming a json object that resembles the {@code path} * wrapping the type of the {@code adapter}. */ private static <T> void toJson(JsonAdapter<T> adapter, JsonWriter writer, T value, String[] path, int index) throws IOException { if (value != null || writer.getSerializeNulls()) { if (index == path.length) { adapter.toJson(writer, value); } else { writer.beginObject(); writer.name(path[index]); toJson(adapter, writer, value, path, ++index); writer.endObject(); } } else { // If we don't propagate the null value the writer will throw. writer.nullValue(); } } }