to_json cannot handle properly special encodings, whereas as_json does it correctly, leaving UTF-8 characters.