gpt4 book ai didi

java - 使用java从domino获取rtf字段以获取JSON

转载 作者:行者123 更新时间:2023-12-01 22:14:53 24 4
gpt4 key购买 nike

我正在尝试制作 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 为我处理这个问题的方法。它返回充满/t 和/n 字符的 json。而且我在 jsonGenerator 方面还遇到了一些其他问题,因为我的 JSON 的深度不止一层。因此返回没有换行符和制表符的字符串可能是最简单的解决方案。

有人知道如何解决这个问题吗?

最佳答案

我可以想象可能涉及到一些事情。

我怀疑第一个是 replaceAll 将字符串解释为正则表达式。在这种情况下,仅使用 replace 会更安全;尽管有名称,它也会替换所有出现的内容,但会将内容视为文字字符串。

另一种可能是该字符串包含两个字符的 Windows CRLF。我对此不太确定,但您也可以执行 .replace("\r", "") 来确定。

最后,您是否将 replace 调用的结果分配回 String 变量?它不会就地修改字符串,因此这是一个常见的陷阱。

顺便说一句,请注意获取 MIME RT 字段内容的方式。当内容仅为文本时,这将起作用,但是,当添加附件或嵌入图像时,MIME 结构会发生变化,顶层将变为 multipart/latedmultipart/mixed code> 实体,内容被移动到子实体。查找正文内容的最安全方法是对第一个 MIMEEntity 进行深度优先递归搜索,其中 getContentType()textgetContentSubType()html

关于java - 使用java从domino获取rtf字段以获取JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31287858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com