簡體   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