gpt4 book ai didi

json - 为什么在使用lift-json时在我的json字符串中得到 "$outer"?

转载 作者:行者123 更新时间:2023-12-03 23:18:45 27 4
gpt4 key购买 nike

让我先说我是 json 和序列化等方面的新手。我正在尝试从某些案例类创建一些 json。这是我正在使用的 Scala 工作表中的代码:

import net.liftweb.json.DefaultFormats
import net.liftweb.json.Serialization.write
implicit val formats = DefaultFormats

// DBObjectTypes is an enumeration not shown in this snippet.
def update(dbObject: DBObjectTypes, updatePair: Map[String, Any]): Unit = {

case class Query(objectType: String, id: String, version: Long)
case class Update($set: Map[String, Any])
case class QueryUpdate(query: Query, update: Update)
val queryUpdate = QueryUpdate(Query(dbObject.toString, "test", 1L), Update(updatePair))
val updateJson = write(queryUpdate)
println(updateJson)
}
// SRAsubmission is an enumeration not show in this code snippet
update(SRAsubmission, Map("Desc" -> "Foo"))

这将产生以下 JSON:
{"$outer":{},"query":{"$outer":{},"objectType":"SRAsubmission","id":"test","version":1},"update":{"$outer":{},"$set":{"Desc":"Foo"}}}

什么我 想要如下:
{"query":{"objectType":"SRAsubmission","id":"test","version":1},"update":{"$set":{"Desc":"Foo"}}}

我不明白为什么我得到 $outer: {} json 元素。我很确定这可能是我不明白但无法在 StackOverflow 或 Google 上找到任何答案的基础知识。在此先感谢您的帮助!

最佳答案

将案例类定义移到 def 之外。
外部是对它们重新定义的类的实例的引用。

关于json - 为什么在使用lift-json时在我的json字符串中得到 "$outer"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42585616/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com