То, что сказал @Fabian Z, вероятно, будет работать, но может быть оптимизировано (вам не нужно сначала преобразовывать всю строку в массив символов, чтобы выполнить итерацию, и вы также должны использовать StringBuilder):
public static String removeWhitespaces(String json) {
boolean quoted = false;
StringBuilder builder = new StringBuilder();
int len = json.length();
for (int i = 0; i < len; i++) {
char c = json.charAt(i);
if (c == '\"')
quoted = !quoted;
if (quoted || !Character.isWhitespace(c))
builder.append(c);
}
return builder.toString();
}
Также при использовании
Character.isWhitespace(c)
это также удалит разрывы строк