2
擁有一個對象數組我想將它們序列化爲JSON(一個JValue實例)。 我試着結合JSON實體如下因素2個變種:如何將對象數組序列化爲JSON JValue?
def items : Array[FooBar] = Array (new FooBar(1), new FooBar(2), new FooBar(3))
def toJson : JValue = {
val jItems : Array[JValue]= items.map(i => i.toJson)
// variant 1.
// val jItemsC = jItems.reduceLeft[JValue](_~_)
// variant 2.
val jItemsC = jItems.reduceLeft((a : JObject, b : JValue) => a ~ b)
"items" -> jItemsC
}
第一(和第二位(一個:JValue,B:JValue))說 value ~ is not a member of net.liftweb.json.package.JValue
第二個說 overloaded method value ~ with alternatives: (right: net.liftweb.json.package.JObject)net.liftweb.json.JsonAST.JObject <and>
(right: (String, net.liftweb.json.package.JValue))net.liftweb.json.JsonAST.JObject
cannot be applied to (net.liftweb.json.package.JValue)
那麼如何解決問題以及如何解決問題?
'Extraction.decompose(一)'(其中一個是一類礦井的實例的Array)導致'找不到隱參數格式的值:net.liftweb.json.Formats'編譯錯誤。 – Ivan
'JArray(a.toList map JString.apply)'導致'類型不匹配; found:String => net.liftweb.json.JSONAST.JString; required:code.model.Item =>?'編譯錯誤。 – Ivan
當a是一個JValue對象數組時,'JArray(a.toList)'似乎工作(至少編譯)。 – Ivan