2017-09-18 6 views

答えて

3

あなたは単にJsonの値を抽出することができ、スカラは対応するマップを与えます。例:

var myJson = Json.obj(
      "customerId" -> "xyz", 
      "addressId" -> "xyz", 
      "firstName" -> "xyz", 
      "lastName" -> "xyz", 
      "address" -> "xyz" 
    ) 

上記のタイプのJsonがあるとします。マップに変換するには、単純に実行します。scala.collection.immutable.HashMap $ HashTrieMap詳細なしに言うのは難しい

0

:これはあなたのタイプのマップを与える

var mapFromJson = myJson.value 

。 ...あなたは以下のScalaのケースクラスを持っていることを

case class SomeObject(customerId: Long, addressId: Long, firstName: String, lastName: String, address: String) 

を仮定...そして、あなたは「firstNameの」、「LASTNAME」、およびアドレスフィールドを抽出してJSONにオブジェクトを変換したかったということ。

...あなたはSomeObjectクラスのコンパニオンオブジェクトの暗黙的な変換を定義することができ

object SomeObject { 

    implicit val someObjectWrites = new Writes[SomeObject] { 
    def writes(object: SomeObject) = Json.obj(
     "firstName" -> object.firstName, 
     "lastName" -> object.lastName, 
     "address" -> object.address 
    ) 
    } 

} 
play-jsonを使用して、次のように続いて、あなただけのコードを使用することができます

val obj = SomeObject(12345, 678910, "John", "Doe", "My Address") 
val json = Json.toJson(obj) 

注意を他のJSONはおそらくあること同様の機能をサポートしているplay-json以外のライブラリ

関連する問題