json中的Html(不需要json规范)



我是一个非常快乐的jackson对象映射器用户。

但有一件事确实困扰着我,那就是我必须手动在json中输入html,这对一个没有经验的用户来说是非常困难的。

有没有一种方法可以允许jackson在json文件中读取未标记的纯html?例如xml中的cdata。

json不必满足json规范/标准,任何预处理或后处理都是可能的。但它需要在json中手动输入,例如使用notepad。

关于这个主题,stackoverflow有很多问题和答案,但它们大多都需要满足json规范,这对我来说不是一个要求。

我确实使用了@Teddy解决方案:

只需添加CDATA之类的内容,并将文件保存为.jsonxyz。然后运行一个自定义java程序,将.jsonxyz转换为.json

带有图案

<cdata>(.*?)</cdata>

我匹配json中包含html的cdata。使用appendReplacement,我用与json兼容的转义html替换了html。接下来,我只是和jackson一起阅读整个json。

为了用cdata和unscaped html再次序列化它,我扩展了:

HtmlFieldSerializer extends JsonSerializer<String>{
...
gen.writeRaw(": "<cdata>"+value+"</cdata>"");

接下来,jackson可以简单地将json写入文件。

最新更新