目前我有一个类似
的案例类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")
我的问题:
1.这种方法是否正确?如果没有,那么替代方案是什么?
2. Scala或Java中的任何库都可以让我的生活更轻松并自动执行此转换,因为我的case类有超过30个变量并且是嵌套的5倍。因此手动完成需要花费很多时间!
P.S。:我的主要目标是将一个简单的Case类转换为Json LD格式!
答案 0 :(得分:0)
我认为如果你需要从https://github.com/google/schemaorg-java上下文中描述的Java对象生成Json + ld,这个项目可以帮助http://schema.org。
对于更多一般任务和多个上下文的使用 - RDF / JSON + ld Scala库https://github.com/banana-rdf/banana-rdf可以提供帮助,但这是一种更低级的方法。并且可能无助于你的任务。
拥有像上下文这样的东西会很高兴 - > scala类生成器。但到目前为止还没有找到这样的项目。