alan eklemek:Çal Çerçeve - Scala kullanarak Play Çerçevesi Json nesnesine bir alan ekleyerek bir sorun var JSON nesnesi
Ben verileri içeren bir vaka sınıf var. Örneğin:
val classAObject = ClassA(1,2)
implicit val classAWrites= Json.writes[ClassA]
val jsonObject = Json.toJson(classAObject)
ve Json gibi görünecektir:
case class ClassA(a:Int,b:Int)
ve ben Json kullanarak Json nesnesi oluşturmak mümkün duyuyorum yazar en İsterim varsayalım
{ a:1, b:2 }
Json nesnesine ek bir 'c' alanı ekleyin. Sonuç:
{ a:1, b:2, c:3 }
nasıl Ben yapmak, yeni bir vaka sınıfını oluşturarak veya benim Json Json.obj kullanarak kendim nesne yaratmadan? Ben bir şey gibi arıyorum:
jsonObject.merge({c:3})
Herhangi bir yardım takdir!
yarattığı json eklenecek nesnedir bir JSON nesnesi oluşturur kullanmaktır, 'yazar. yazıyor 'JsValue' döndürür, bu yüzden (REPL değil) upcasting kurtulmak nasıl anlayamıyorum. – Tvaroh
Tvaroh haklı, JsValue'yi görebildiğim kadarıyla – elmalto
@elmalto deneyin. Bunu deneyin; —classAWrites' statik olarak "OWrites [ClassA]" (hem Play 2.2 hem de 2.3 ve 2.10 ve 2.11'de) olarak yazılacaktır. Bunun nedeni Scala'nın makrolarının "belirtilmiş fakat amaçlanan" davranışından kaynaklanmaktadır (benim soruma [burada] bakınız (http: // stackoverflow).com/q/13669974/334519) detaylar için). –