2014-04-28 5 views
11

일부 소스 객체 src이 있는데 JValue을 얻고 싶습니다. 모든 예제와 json4s에 대한 문서는 JSON 인코딩 된 문자열을 받고 주위에 회전과 같이 보인다 :json4s : 형식을 JValue로 변환하십시오.

: 만 최종 결과를 원하는 경우 중대하다,하지만 난을 작성 원합니다

def encodeJson(src: AnyRef): String = { 
    import org.json4s.NoTypeHints 
    import org.json4s.JsonDSL.WithDouble._ 
    import org.json4s.jackson.JsonMethods._ 
    import org.json4s.jackson.Serialization 
    import org.json4s.jackson.Serialization.write 
    implicit val formats = Serialization.formats(NoTypeHints) 

    write(src) 
} 

def encodeJson(src: AnyRef): JValue 

ToJsonWritable[T]은 내가 사용하고 싶은 것인데, Writer[AnyRef]에 대한 구현을 찾을 수없는 것 같습니다. (json4s에 대한 scaladocs도 찾을 수 없습니다.

답변

9

여기에 대한 대답은 org.json4s.Extraction - 그것은 방법 decompose(a: Any)(implicit formats: Formats): JValue 있습니다

def encodeJson(src: AnyRef): JValue = { 
    import org.json4s.{ Extraction, NoTypeHints } 
    import org.json4s.JsonDSL.WithDouble._ 
    import org.json4s.jackson.Serialization 
    implicit val formats = Serialization.formats(NoTypeHints) 

    Extraction.decompose(src) 
} 
관련 문제