繁体   English   中英

如何在Scala中将case类转换为Json-LD?

[英]How to convert a case Class to Json-LD in Scala?

目前我有一个案例类

case class A(a:String, b:String, c:C,d:D)
case class C(e:String,f:String)
case class D(g:String,h:String)

当我尝试将对象A转换为Json时,使用任何普通的Json解析器(如lift-json)成功完成。

但我的用例是,我必须创建一个JsonLD。

为此,我目前正在做的事情是:现在,Json LD的案例类A变为:

 case class A(`contextA:a`:String, `contextA:b`:String, `contextA:c`:C,`contextA:d`:D,`@context`:ContextA)

同理:

case class C(`contextC:e`:String,`contextC:f`:String,`@context`:ContextC)
case class D(`contextD:g`:String,`contextD:h`:String,`@context`:ContextD)

case class ContextA(contextA:String="www.a.com")
case class ContextD(contextD:String="www.d.com")
case class ContextC(contextC:String="www.c.com")

我的问题:

这种方法是否正确? 如果没有,那么替代方案是什么?

2. Scala或Java中的任何库都可以让我的生活更轻松并自动执行此转换,因为我的case类有超过30个变量并且是嵌套的5倍。 因此手动操作需要花费大量时间!

PS :我的主要目标是将一个简单的Case类转换为Json LD格式!

我认为如果你需要从http://schema.org上下文中描述的Java对象生成Json + ld,这个项目可以帮助https://github.com/google/schemaorg-java

对于更多一般任务和多个上下文的使用 - RDF / JSON + ld Scala库https://github.com/banana-rdf/banana-rdf可以提供帮助,但这是一种更低级的方法。 并且可能无助于你的任务。

有一些像context - > scala classes generator这样的东西会很不错。 但到目前为止还没有找到这样的项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM