2016-06-15 3 views
1

JSON 라이브러리를 업데이트했으며 원하는 값을 추출하는 데 문제가 있습니다.JSON 구조체에서 두 번 가져 오기

json으로는 다음과 같습니다

{ 
    "k1": { 
    "k2 : { 
     "k3" : 123 
    } 
    } 
} 

을 이전,이 트릭했다 :

(parse(json) \\ "k1" \\ "k2" \\ "k3").extract[Double] 

가 속임수를 썼는지를, 지금은 그렇지 않습니다. 지금은 예외를 얻을 : 나는 compact(render(parse(json) \\ "k1" \\ "k2" \\ "k3"))를 사용하여 시도

org.json4s.package$MappingException: Do not know how to convert JArray(List(JInt(123))) into double 

을, 그러나 그것은 나에게 정말 내가 원하는 것이 아니다 문자열 [123]을했다. 어떻게하면 double 값으로 직접 값을 추출 할 수 있습니까?

답변

1

\\ 접근자를 사용하면 JSON을 재귀 적으로 탐색하고 "k1"을 추출하여 JArray을 생성하므로 오류가 발생합니다.

\은 코드에서 JSON 객체의 직접 중첩 키를 하나만 액세스하거나 extract[List[Double]]을 사용해야합니다.

관련 문제