2014-12-19 2 views
3

스칼라의 Json 객체에서 특정 필드를 가져 오는 방법은 무엇입니까? 내가 서클에 들어간 것처럼 느껴진다.스칼라에서 필드 가져 오기 json4s

import org.json4s._ 
import org.json4s.jackson.JsonMethods._ 

val me = parse(""" {"name":"brian", "state":"frustrated"} """) 

이제 상태를 원합니다. 나는

me("state") 
me.get("state") 
me \ "state" <thanks for the idea> 
me['state'] 
me.state 
me.NOOOOOOOOOO!!!!!!! 

도움말

을 시도

me("state") -> "frustrated" 

같은 것을 찾고 있었다?

+1

나에게 "상태"를 시도해 보셨습니까? 테스트 사양을 확인하십시오. https://github.com/json4s/json4s/blob/master/tests/src/test/scala/org/json4s/ExtractionExamplesSpec.scala –

+0

@ m-z 오타가 수정되었습니다. 감사합니다. –

답변

5

나는 당신의 코드가 errta라고 생각하며, 아래는 올바른 코드 일 것입니다.

상태 필드의 값 유형이 고정되어 있다고 가정합니다. 유형은 문자열입니다.

val me = parse("""{"name":"brian", "state":"frustrated"}""") 
val JString(state) = me \ "state" 
+0

그것은 저에게 아주 외국 문법입니다. 감사! –

+0

@BrianDolan 상태 유형을 확인할 수 있습니까? "state.isInstanceOf [String]"표현식은 String 값입니다. –

+0

그것은 내 오류, 코멘트를 삭제했습니다. 도와 주셔서 정말 고맙습니다. 이제 중첩 된 필드에 들어가야합니다. –