Scala Play Json의 배열에 대한 JsPath

데이비드 포르타 벨라
import play.api.libs.json._

val json: JsValue = Json.parse("""
  {
    "name" : "Independence",
    "foundingFathers" : [ {
      "name" : {
        "first": "John",
        "last": "Adams"
      },
      "country" : "United States"
    }, {
      "name" : {
        "first": "Artur",
        "last": "Mas"
      },
      "country" : "Catalonia"
    } ]
  }
""")

val lastNames = json \ "foundingFathers \ "name" \ "last"
// this does not work. it fails with: JsUndefined('last' is undefined on object: JsUndefined('name' is undefined on object: [{"name":{"first":"John","last":"Adams"},"country":"United States"},{"name":{"first":"Artur","last":"Mas"},"country":"Catalonia"}]))

// this does work, but there is too much boilerplate
val lastNames = (json \ "foundingFathers").as[List[JsObject]].map(_ \ "name" \ "last")

그 상용구없이 결과를 얻는 방법? (이 경우 JsValues를 사용하고 싶습니다. 리더를 사용하여 JsValue를 모델로 변환하고 싶지 않습니다.)

roterl

이 기능으로 래핑하기 위해 암시 적 클래스를 사용할 수 있습니다.

implicit class JsValueWrapper(val j: JsValue) extends AnyVal {
  def \|(fieldName: String) = j match {
    case JsArray(value) => JsArray(value.map(_ \ fieldName))
    case _ => j \ fieldName
  }
}

scala> json \| "foundingFathers" \| "name" \| "first"
res19: play.api.libs.json.JsValue = ["John","Artur"]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

내 Play / Scala 프로젝트에서 swagger의 @ApiOperation에 대한 json 응답을 지정하는 방법

분류에서Dev

Scala-Play Json : 새들 프레임에 대한 쓰기를 정의하는 방법은 무엇입니까?

분류에서Dev

Play / Scala에서 여러 JSON 배열 탐색

분류에서Dev

Play / Scala의 지속 형 객체에 대한 캐시 요청 모범 사례

분류에서Dev

Scala Play API for JSON-문자열 화 된 JSON에서 일부 케이스 클래스의 배열 가져 오기?

분류에서Dev

두 번째 항목의 행에 대한 Scala 2D 배열 작업

분류에서Dev

Play 2.x의 Generics에 대한 JSON 형식

분류에서Dev

Play 2.4의 트레이 트에 대한 JSON 포맷터

분류에서Dev

JSON 객체의 배열에 대한 문자열 배열

분류에서Dev

배열의 배열에 대한 addToSet

분류에서Dev

Play를 사용한 Scala의 DI (Dependency Injection)

분류에서Dev

Scala Play Json 읽기

분류에서Dev

다양한 질문 수에 대한 답변을 저장하는 Play / Scala / Anorm

분류에서Dev

scala / play에서 "stringified"JSON 구문 분석

분류에서Dev

Scala의`this` 키워드에 대한 설명

분류에서Dev

Play / Scala 빈 배열의 Json 직렬화를 방지하는 방법은 무엇입니까?

분류에서Dev

Postgres 배열 열의 JSON 작업에 대한 SELECT?

분류에서Dev

JSON 배열의 JSON 값에 대한 SUM 쿼리

분류에서Dev

Spark Scala의 중첩 스키마에 대한 문자열 함수

분류에서Dev

Scala 3의 열거 형에 대한 고정 기본 유형

분류에서Dev

Scala 3의 열거 형에 대한 고정 기본 유형

분류에서Dev

배열의 객체에 여러 속성에 대한 JSON_CONTAINS?

분류에서Dev

JSON JsPath 조건부 유형 재생

분류에서Dev

각 루핑에 대한 json 배열

분류에서Dev

분할 된 json에 대한 jQuery 배열

분류에서Dev

여러 객체에 대한 JSON 배열

분류에서Dev

json_encode에 대한 배열 포맷

분류에서Dev

값에 대한 json 배열 검색

분류에서Dev

객체 목록에 대한 JSON 배열

Related 관련 기사

  1. 1

    내 Play / Scala 프로젝트에서 swagger의 @ApiOperation에 대한 json 응답을 지정하는 방법

  2. 2

    Scala-Play Json : 새들 프레임에 대한 쓰기를 정의하는 방법은 무엇입니까?

  3. 3

    Play / Scala에서 여러 JSON 배열 탐색

  4. 4

    Play / Scala의 지속 형 객체에 대한 캐시 요청 모범 사례

  5. 5

    Scala Play API for JSON-문자열 화 된 JSON에서 일부 케이스 클래스의 배열 가져 오기?

  6. 6

    두 번째 항목의 행에 대한 Scala 2D 배열 작업

  7. 7

    Play 2.x의 Generics에 대한 JSON 형식

  8. 8

    Play 2.4의 트레이 트에 대한 JSON 포맷터

  9. 9

    JSON 객체의 배열에 대한 문자열 배열

  10. 10

    배열의 배열에 대한 addToSet

  11. 11

    Play를 사용한 Scala의 DI (Dependency Injection)

  12. 12

    Scala Play Json 읽기

  13. 13

    다양한 질문 수에 대한 답변을 저장하는 Play / Scala / Anorm

  14. 14

    scala / play에서 "stringified"JSON 구문 분석

  15. 15

    Scala의`this` 키워드에 대한 설명

  16. 16

    Play / Scala 빈 배열의 Json 직렬화를 방지하는 방법은 무엇입니까?

  17. 17

    Postgres 배열 열의 JSON 작업에 대한 SELECT?

  18. 18

    JSON 배열의 JSON 값에 대한 SUM 쿼리

  19. 19

    Spark Scala의 중첩 스키마에 대한 문자열 함수

  20. 20

    Scala 3의 열거 형에 대한 고정 기본 유형

  21. 21

    Scala 3의 열거 형에 대한 고정 기본 유형

  22. 22

    배열의 객체에 여러 속성에 대한 JSON_CONTAINS?

  23. 23

    JSON JsPath 조건부 유형 재생

  24. 24

    각 루핑에 대한 json 배열

  25. 25

    분할 된 json에 대한 jQuery 배열

  26. 26

    여러 객체에 대한 JSON 배열

  27. 27

    json_encode에 대한 배열 포맷

  28. 28

    값에 대한 json 배열 검색

  29. 29

    객체 목록에 대한 JSON 배열

뜨겁다태그

보관