Closed GoogleCodeExporter closed 9 years ago
Eww, why would you do this? You're better off fixing your other tools that
can't handle Unicode.
Original comment by limpbizkit
on 10 Dec 2011 at 10:20
this is important to cjk non-unicode users
e.g.
the page encoded in gbk
and wanted to export json data
servlet will encode json using gbk if not escaped
make all non ascii would be safe for javascript to use
jackson1.8 and php json_encode always have this feature
Original comment by farmer1...@gmail.com
on 11 Dec 2011 at 9:46
Its about an hour's work to make a Writer subclass that does what you'd like.
There's no benefit to doing this in Gson directly.
Original comment by limpbizkit
on 11 Dec 2011 at 2:47
... actually it was only about eight minutes work. Paste this class into your
application (public domain license) and use it when you create your JsonWriter.
There's some optimization opportunities if write() isn't fast enough; changes
are it'll be fine.
public class GhettoAsciiWriter extends Writer {
private final Writer out;
public GhettoAsciiWriter(Writer out) {
this.out = out;
}
@Override public void write(char[] buffer, int offset, int count) throws IOException {
for (int i = 0; i < count; i++) {
char c = buffer[i + offset];
if (c <= 0x7f) {
out.write(c);
} else {
out.write(String.format("\\u%04x", (int) c));
}
}
}
@Override public void flush() throws IOException {
out.flush();
}
@Override public void close() throws IOException {
out.close();
}
}
Original comment by limpbizkit
on 11 Dec 2011 at 10:39
Original issue reported on code.google.com by
farmer1...@gmail.com
on 10 Dec 2011 at 5:22Attachments: