2017-02-20 2 views
1

私はPOSTをそうのようにサーバに要求角度のアプリがあります。それは、このようなサーバー上に表示さScala JsonAST.JValueを型に変換するには?

$scope.downloadPartDetails = (parts, e) -> 
    req = { 
     method: 'POST', 
     url: '/downloads/partdetails', 
     headers: { 
     'Content-Type': "application/json; charset=utf-8" 
     }, 
     data: { parts: [ 
     {manufacturer: "mfr1", partNumber: "part num1"}, 
     {manufacturer: "mfr2", partNumber: "part num2"}, 
     {manufacturer: "mfr3", partNumber: "part num3"} 
     ] } 
    } 
    $http(req) 

を:

JArray(List(JObject(List(JField(manufacturer,JString(mfr1)), JField(partNumber,JString(part num1)))), JObject(List(JField(manufacturer,JString(mfr2)), JField(partNumber,JString(part num2)))), JObject(List(JField(manufacturer,JString(mfr3)), JField(partNumber,JString(part num3)))))) 

リストにこれを変換する方法はあります[部]?

case class Part(mfr: String, pn: String) 

答えて

1

あなたはJSONで同じフィールド名を使用する場合、それは容易になるだろうとケースクラスで

case class Part(manufacturer: String, partNumber: String) 
val part: Part = jvalue.extract[Part] 

あなたがする必要がありますあなたのケースクラスのフィールド名を変更することができない場合ここで説明したカスタムシリアライザを実装してくださいDeserialization of case object in Scala with JSON4S

+0

変更を加えて正常に動作しました。ありがとう。 –

関連する問題