我有一个转义的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转换为对象