Jsonに変換する前にScalaオブジェクトから特定のフィールドを抽出しようとしています。これを行う簡単な方法はありますか?スカラオブジェクトから特定のフィールドを抽出する<-> Json
Jsonの特定のフィールドで新しいJsonを作成することもできます。
Jsonに変換する前にScalaオブジェクトから特定のフィールドを抽出しようとしています。これを行う簡単な方法はありますか?スカラオブジェクトから特定のフィールドを抽出する<-> Json
Jsonの特定のフィールドで新しいJsonを作成することもできます。
あなたは単にJsonの値を抽出することができ、スカラは対応するマップを与えます。例:
var myJson = Json.obj(
"customerId" -> "xyz",
"addressId" -> "xyz",
"firstName" -> "xyz",
"lastName" -> "xyz",
"address" -> "xyz"
)
上記のタイプのJsonがあるとします。マップに変換するには、単純に実行します。scala.collection.immutable.HashMap $ HashTrieMap詳細なしに言うのは難しい
:これはあなたのタイプのマップを与える
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
以外のライブラリ
いくつかの例を示します。 –