使用 java for JSON 从多米诺骨牌获取 rtf 字段
Getting rtf field from domino with java for JSON
我正在尝试制作 JSON 并将其另存为多米诺骨牌文档。一切正常,除了处理富文本格式字段时。问题是这样的:我的 html 编辑器在每个 html 开始标记之后放置换行符和制表符,所以当我尝试获取保存 html 的 rtf 时,它还包含换行符、制表符等等
我尝试更换它们,但没有任何反应。
这是 rtf 的样子(并且无法更改):
<p>
some sample text</p>
这就是我尝试从 rtf 获取数据的方式:
somestring = viewdata.getDocument().getMimeEntity("myField").getContentAsText();
我如何尝试替换换行符:
somestring.replaceAll("\n", "");
somestring.replaceAll("\n", "");
somestring.replaceAll("\\n", "");
我想得到类似的东西
<p>some sample text</p>
我也尝试过 jsonGenerator 会为我处理的方法。它 returns json 充满了 /t 和 /n 字符。而且 jsonGenerator 我还有一些其他问题,因为我的 JSON 有不止一层的深度。因此返回不带换行符和制表符的字符串可能是最简单的解决方案。
有人知道如何解决这个问题吗?
我可以想象可能涉及到一些事情。
我怀疑第一个是 replaceAll
将字符串解释为正则表达式。在这种情况下只使用 replace
更安全;尽管有名称,它也会替换所有出现的地方,但会将内容视为文字字符串。
另一个可能是字符串包含 two-character Windows CRLF。我不太确定这一点,但你也可以做一个 .replace("\r", "")
来确定。
最后,您是否将 replace
回调的结果分配回 String 变量?它不修改字符串 in-place,因此这是一个常见的陷阱。
顺便说一句,请注意获取 MIME RT 字段内容的方式。这在内容为 text-only 时有效,但是,当添加附件或嵌入图像时,MIME 结构发生变化,顶层变为 multipart/related
或 multipart/mixed
实体并且内容被移动到 child。查找正文内容的最安全方法是对第一个 MIMEEntity
进行 depth-first 递归搜索,其中 getContentType()
是 text
,getContentSubType()
是 html
.
我正在尝试制作 JSON 并将其另存为多米诺骨牌文档。一切正常,除了处理富文本格式字段时。问题是这样的:我的 html 编辑器在每个 html 开始标记之后放置换行符和制表符,所以当我尝试获取保存 html 的 rtf 时,它还包含换行符、制表符等等 我尝试更换它们,但没有任何反应。
这是 rtf 的样子(并且无法更改):
<p>
some sample text</p>
这就是我尝试从 rtf 获取数据的方式:
somestring = viewdata.getDocument().getMimeEntity("myField").getContentAsText();
我如何尝试替换换行符:
somestring.replaceAll("\n", "");
somestring.replaceAll("\n", "");
somestring.replaceAll("\\n", "");
我想得到类似的东西
<p>some sample text</p>
我也尝试过 jsonGenerator 会为我处理的方法。它 returns json 充满了 /t 和 /n 字符。而且 jsonGenerator 我还有一些其他问题,因为我的 JSON 有不止一层的深度。因此返回不带换行符和制表符的字符串可能是最简单的解决方案。
有人知道如何解决这个问题吗?
我可以想象可能涉及到一些事情。
我怀疑第一个是 replaceAll
将字符串解释为正则表达式。在这种情况下只使用 replace
更安全;尽管有名称,它也会替换所有出现的地方,但会将内容视为文字字符串。
另一个可能是字符串包含 two-character Windows CRLF。我不太确定这一点,但你也可以做一个 .replace("\r", "")
来确定。
最后,您是否将 replace
回调的结果分配回 String 变量?它不修改字符串 in-place,因此这是一个常见的陷阱。
顺便说一句,请注意获取 MIME RT 字段内容的方式。这在内容为 text-only 时有效,但是,当添加附件或嵌入图像时,MIME 结构发生变化,顶层变为 multipart/related
或 multipart/mixed
实体并且内容被移动到 child。查找正文内容的最安全方法是对第一个 MIMEEntity
进行 depth-first 递归搜索,其中 getContentType()
是 text
,getContentSubType()
是 html
.