在Play 2.0应用程序中,我需要从一个我无法控制的源中反序列化一些JSON,这些源使用字符串周围的单引号 - 其中JSON规范要求使用双引号。
使用杰克逊的解决方案在这里: Configure Jackson to deserialize single quoted (invalid) JSON
但是试图在play2.0中实现这个解决方案我遇到了静态对象和私有类的问题......它应该足以将对象JerksonJson替换为在初始化时实现上面链接的解决方案,但因为它是静态的对象它不能被扩展,并且我尝试将它复制到我的代码中我需要拖动类PlaySerializers,PlayDeserializers,JsValueDeserializer,...我停在这里,因为它看起来太多了。
有干净的解决方案吗?
答案 0 :(得分:0)
如何通过用“?
替换其中的每个'来尝试修复无效的json字符串如果仅用于指定字符串,那将会有效。
答案 1 :(得分:0)
我意识到这对Play框架部分可能没什么帮助,但也许你可以使用Jackson Scala Module而不是Jerkson?这样做可以更容易地使用注册了Scala模块的ObjectMapper
,而不必使用Jerkson特定的处理程序。