@Override public String fromJson(JsonReader reader) throws IOException { return reader.nextString(); }
@Override public Long fromJson(JsonReader reader) throws IOException { BigInteger bigInteger = new BigInteger(reader.nextString()); return bigInteger.compareTo(maxLong) > 0 ? bigInteger.subtract(power64).longValue() : bigInteger.longValue(); }
@Override public T fromJson(JsonReader reader) throws IOException { int index = reader.selectString(options); if (index != -1) return constants[index]; reader.nextString(); return defaultValue; }
@Override public ByteString fromJson(JsonReader reader) throws IOException { String base64 = reader.nextString(); return ByteString.decodeBase64(base64); }
@Override public synchronized Date fromJson(JsonReader reader) throws IOException { String string = reader.nextString(); return Iso8601Utils.parse(string); }
@Override public ByteString fromJson(JsonReader in) throws IOException { return ByteString.decodeBase64(in.nextString()); } }.nullSafe();
@Override public Character fromJson(JsonReader reader) throws IOException { String value = reader.nextString(); if (value.length() > 1) { throw new JsonDataException( String.format(ERROR_FORMAT, "a char", '"' + value + '"', reader.getPath())); } return value.charAt(0); }
@FromJson @Nullable Stage fromJson(JsonReader jsonReader, JsonAdapter<Stage> delegate) throws IOException { String value = jsonReader.nextString(); Stage stage; if (value.startsWith("in-progress")) { stage = Stage.IN_PROGRESS; } else { stage = delegate.fromJsonValue(value); } return stage; } }
@Override public T fromJson(JsonReader reader) throws IOException { int index = reader.selectString(options); if (index != -1) return constants[index]; // We can consume the string safely, we are terminating anyway. String path = reader.getPath(); String name = reader.nextString(); throw new JsonDataException("Expected one of " + Arrays.asList(nameStrings) + " but was " + name + " at path " + path); }
@Override public @Nullable T fromJson(JsonReader reader) throws IOException { int index = reader.selectString(options); if (index != -1) return constants[index]; String path = reader.getPath(); if (!useFallbackValue) { String name = reader.nextString(); throw new JsonDataException("Expected one of " + Arrays.asList(nameStrings) + " but was " + name + " at path " + path); } if (reader.peek() != JsonReader.Token.STRING) { throw new JsonDataException( "Expected a string but was " + reader.peek() + " at path " + path); } reader.skipValue(); return fallbackValue; }
return nextString();
private int labelIndex(JsonReader reader) throws IOException { reader.beginObject(); while (reader.hasNext()) { if (reader.selectName(labelKeyOptions) == -1) { reader.skipName(); reader.skipValue(); continue; } int labelIndex = reader.selectString(labelOptions); if (labelIndex == -1 && !defaultValueSet) { throw new JsonDataException("Expected one of " + labels + " for key '" + labelKey + "' but found '" + reader.nextString() + "'. Register a subtype for this label."); } reader.close(); return labelIndex; } throw new JsonDataException("Missing label for " + labelKey); }
@Nullable @Override public BigDecimal fromJson(com.squareup.moshi.JsonReader reader) throws IOException { return new BigDecimal(reader.nextString()); } @Override
@Override public T fromJson(JsonReader reader) throws IOException { String name = reader.nextString(); return nameConstantMap.get(name); }
@Override public synchronized Date fromJson(JsonReader reader) throws IOException { String string = reader.nextString(); return Iso8601Utils.parse(string); }
@Override public T fromJson(JsonReader reader) throws IOException { int index = reader.selectString(options); if (index != -1) return constants[index]; reader.nextString(); return fallbackConstant; }
String nextString() throws IOException { if(nextNull()) return null; else return in.nextString(); }
@Override public Character fromJson(JsonReader reader) throws IOException { String value = reader.nextString(); if (value.length() > 1) { throw new JsonDataException( String.format(ERROR_FORMAT, "a char", '"' + value + '"', reader.getPath())); } return value.charAt(0); }
@Override public Phone fromJson(JsonReader reader) throws IOException { String phone = reader.nextString(); String[] pieces = phone.split("\\|"); if (pieces.length == 3) return new Phone(pieces[0], pieces[1], pieces[2]); // Avoid returning a null phone if the server didn't return null. return new Phone("", "", ""); }
@Override public T fromJson(JsonReader reader) throws IOException { int index = reader.selectString(options); if (index != -1) return constants[index]; // We can consume the string safely, we are terminating anyway. String path = reader.getPath(); String name = reader.nextString(); throw new JsonDataException("Expected one of " + Arrays.asList(nameStrings) + " but was " + name + " at path " + path); }