private String nextString()

in core/src/main/java/com/datastax/oss/driver/internal/core/metadata/schema/parsing/SimpleJsonParser.java [136:184]


  private String nextString() {
    assert input.charAt(idx - 1) == '"' : "Char is '" + input.charAt(idx - 1) + '\'';
    StringBuilder sb = new StringBuilder();
    while (true) {
      char c = nextChar();
      switch (c) {
        case '\n':
        case '\r':
          throw new IllegalArgumentException("Unterminated string");
        case '\\':
          c = nextChar();
          switch (c) {
            case 'b':
              sb.append('\b');
              break;
            case 't':
              sb.append('\t');
              break;
            case 'n':
              sb.append('\n');
              break;
            case 'f':
              sb.append('\f');
              break;
            case 'r':
              sb.append('\r');
              break;
            case 'u':
              sb.append((char) Integer.parseInt(input.substring(idx, idx + 4), 16));
              idx += 4;
              break;
            case '"':
            case '\'':
            case '\\':
            case '/':
              sb.append(c);
              break;
            default:
              throw new IllegalArgumentException("Illegal escape");
          }
          break;
        default:
          if (c == '"') {
            return sb.toString();
          }
          sb.append(c);
      }
    }
  }