我在数据库中保存了一个JSON字符串(在 Text 类型的列中),我希望服务器的客户端能够通过REST API检索
问题是,一旦后端检索到JSON字符串并存储在 String 对象中,准备好作为响应主体的一部分返回给客户端,Java就会自动转义引号。< / p>
因此,JSON字符串保持为:
{"key1": "value1", "key2": "value2"}
将检索并存储在字符串对象中:
{\"key1\": \"value1\", \"key2\": \"value2\"}
然后这个转义字符串将返回给客户端。我担心的是,它的格式是客户无法使用。
我已经看到有些人使用正则表达式来消除反斜杠,但我不确定它是否可行作为解决方案。
有什么建议吗?
答案 0 :(得分:1)
您可以使用org.apache.commons.text.StringEscapeUtils
类来执行此操作。请参考以下代码
String s = "{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\"}";
s = StringEscapeUtils.unescapeJava(s);
System.out.println(s);
给出
{"key1": "value1", "key2": "value2"}