我从我的数据库中获取此字符串:
AnyObject
现在我需要将所有LineBreaks编码为\ n所以我可以从String中生成适当的JSON对象,因为JSON不支持换行符。如何使用\ n?
检测并替换现有String中的所有LineBreak我已经尝试过.replace()和replaceAll()。但是我需要一种方法来检测换行符,所以我可以替换它们。
其他一些信息:
在尝试了这里提到的几个替换函数后,JSON仍然如下所示:
Test Action Item ZusammenführenTest Action Item ZusammenführenTest Action Item ZusammenführenTest Action Item ZusammenführenTest Action Item ZusammenführenTest Action Item Zusammenführen
fsd
fsa
df
asdf
as
dfs
fd
sad
f
sadf
sad
看起来应该是
{ "id": 182,
"status": "eing",
"text": "KORE_AI_6",
"beschreibung": "Eins
Zwei
Drei",
"tags": "KORE"
},
答案 0 :(得分:0)
如果您从数据库中获取的String
被称为jsonString
,则可以使用此正则表达式:
String result = jsonString.replaceAll("[\r\n]+", "\n");
这将匹配最常见的换行符\r\n
\n
\r
。请注意,这也将用一个空行替换多个空行。
答案 1 :(得分:0)
我为我解决了这个问题。不幸的是,似乎.replace()
如上所述在其他评论和答案中完成了工作,但map.put()
操作再次恢复了更改。
要解决此问题,我使用StringEscapeUtils
中的org.apache.commons.lang3.StringEscapeUtils
并使用escapeJson()
方法,如下所示:
escapeUtils.escapeJson(map.get("BESCHREIBUNG").toString())