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;
}