在Java中,转义的Json文本到对象的转换使文本无法转义

时间:2018-08-08 13:39:07

标签: java json escaping gson objectmapper

我有一个转义的json字符串,并使用“ new Gson()。fromJson(..)”或“ new ObjectMapper()。readValue(..)”将其转换为对象。 问题在于转换器无法转义作为参数给出的字符串。

String str =“ {\” abc \“:\” 1 \ r \ n2 \“}”;

HashMap v = new Gson()。fromJson(str,new HashMap()。getClass());

Json String转义了-> {“ abc”:“ 1 \\ r \\ n2”}

转换后,未转义的字符串-> {“ abc”:“ 1 \ r \ n2”}

1-)

尽管要删除'\ r','\ n'字符,但我想对json文本进行清理以进行标头操作。在输入中,这些字符可以转义或不转义。那么在转换为对象之前按如下所示替换它是真的方法吗?

text.replaceAll(“ \\\\ r \\\\ n | \\\\ n | \\\\ r”,“”)。replaceAll(“ \\ r \\ n | \\ n | \\ r“,”“); (先替换转义的crlf字符,然后替换其他crlf字符)

2-)

还有其他解决方案,可以在不转义字符串的情况下从json转换为对象

0 个答案:

没有答案