簡體   English   中英

neo4j StatementResult到scala中的json

[英]neo4j StatementResult to json in scala

我是斯卡拉的新手。 我正在構建一個REST-API來查詢幾個服務,其中一個是Neo4j,使用scala-2.11我正在讀取一個neo4j輸出作為StatementResult(org.neo4j.driver.v1 public interface StatementResult extends Iterator),這樣:

val recordsList = session.run(queryNeo4j)
println("recordsList:" +recordsList.list())

println給出了這個輸出:

recordsList:[Record <{n:node <6103>}>,Record <{n:node <6104>}>]

並嘗試使用play-json將其轉換為json以發送響應。 起初,我試過這個:

val recordJ = Json.parse(recordList)

但它不起作用。 我也試過這個:

while (recordsList.hasNext() ) {
          val record = recordsList.next()
          println("record: " +record)
          val recordJ = Json.parse(record)
        }

但它也沒有工作。我得到這個錯誤:

error: overloaded method value parse with alternatives:
   [INFO]   (input: Array[Byte])play.api.libs.json.JsValue <and>
   [INFO]   (input: java.io.InputStream)play.api.libs.json.JsValue <and>
   [INFO]   (input: String)play.api.libs.json.JsValue
   [INFO]  cannot be applied to (org.neo4j.driver.v1.Record)
   [INFO]           val recordJ = Json.parse(record)
   [INFO]

有人可以幫我一起使用recordsList獲取json嗎?

謝謝

最簡單的方法是將語句結果轉換為深層對象列表。

val data = result.list(_.asMap())

然后將結果格式化為JSON。

請參閱每種方法的javadoc。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM