有一个对象数组我想将它们序列化为JSON(一个JValue实例)。 我已经尝试了以下两种组合JSON实体的变体:
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
}
第一个(和第二个(a: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)
那么问题是什么以及如何解决我的问题?
答案 0 :(得分:0)
这些应该有效:
val a = Array("a", "b", "c")
Extraction.decompose(a)
或
JArray(a.toList map JString.apply)