1

私は次のプレイフレームワーク2.3 jsonトランスフォーマーを持っています

val transAddress = (
  (__ \ 'address \ 'line1).json.copyFrom( (__ \ 'line1).json.pick ) and
  (__ \ 'address \ 'line2).json.copyFrom( (__ \ 'line2).json.pick ) and
  (__ \ 'address \ 'line3).json.copyFrom( (__ \ 'line3).json.pick ) and

  (__ \ 'address \ 'line4).json.copyFrom( (__ \ 'line4).json.pick ) and

  (__ \ 'address \ 'postcode).json.copyFrom( (__ \ 'postcode).json.pick ) reduce
)

したがって、この:

{
    line1: "My Street",
    line2: "My Borough",
    line3: "My Town",
    line4: "My County"
}

これに変換する必要があります:

{
    address: {
        line1: "My Street",
        line2: "My Borough",
        line3: "My Town",
        line4: "My County"
    }
}

私の問題は、ソースjsonモデルではline4がオプションであるため、オプションでaddress.line4にもマップしたいだけです。そう:

{
    line1: "My Street",
    line2: "My Borough",
    line3: "My Town"
}

これにも変換する必要があります:

{
    address: {
        line1: "My Street",
        line2: "My Borough",
        line3: "My Town"
    }
}

これらのトランスフォーマーでこれを行う方法がわかりません。何度もグーグル検索しても同様の問題は見つかりません。

ありがとう!ニック

4

1 に答える 1