개체의 배열이 JSON (JValue 인스턴스)로 직렬화하고 싶습니다.개체 배열을 JSON JValue로 serialize하는 방법은 무엇입니까?
이
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)) 두 번째는 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)value ~ is not a member of net.liftweb.json.package.JValue
말한다 내가 JSON 개체를 결합하는 folowing 2 개 변종을 시도했습니다
그래서 문제가 무엇이며 내 문제가 어떻게 해결 될 수 있습니까?
'Extraction.decompose (A)'원인'암시 찾을 수 없습니다 (a는 내 클래스의 인스턴스의 배열입니다) 매개 변수 형식 값 : 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