public static List readStringList()

in java/src/main/java/com/spotify/voyager/jni/utils/TinyJson.java [37:62]


  public static List<String> readStringList(InputStream stream) {
    Scanner scanner = new Scanner(stream).useDelimiter("\"");

    List<String> outputList = new ArrayList<>();

    boolean insideString = false;
    while (true) {
      String token = scanner.next();
      if (insideString) {
        outputList.add(token);
        insideString = false;
      } else {
        token = token.trim();
        if (token.equals(",") || token.equals("[")) {
          insideString = true;
        } else if (token.equals("]") || token.equals("[]")) {
          break;
        } else {
          throw new IllegalArgumentException(
              "Unexpected token found when parsing JSON list: " + token);
        }
      }
    }

    return outputList;
  }