用Groovy中的JsonBuilder序列化java.nio.file.Path



我正在尝试序列化一个包含java.nio.file.Path实例的对象,由于path是一个接口,我正在接收StackOverflow Exception

我已经检查了这个答案:https://stackoverflow.com/a/36966590/11325201并想在groovy中为我的用例实现一个类型适配器,但我没有找到JsonBuilder的等效GsonBuilderregisterTypeAdapterregisterTypeHierarchyAdapter

如何在Groovy中实现类似的解决方案?

您可以在构造JsonGenerator对象时将其传递给生成器。此对象允许您指定各种选项,包括类型转换器,您可以使用Class和闭包注册这些选项。在本例中,转换器只调用Path上的toString

def generator = new JsonGenerator.Options()
                                 .addConverter(Path) { Path p -> p.toString() }
                                 .build()                 
def json = new JsonBuilder(myObjContainingPathProperties, generator).toPrettyString()

JsonGenerator的在线GroovyDocs没有显示任何内容(很可能是3.0版中的GroovyDoc生成器错误(,但2.5版的Groovy Docs可以工作。

相关内容

  • 没有找到相关文章

最新更新