/* Ċ Ġ* ĠCopyright Ġ 2 0 1 7 - 2 0 2 0 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġkotlinx . serialization . json . pol ymorphic Ċ Ċ import Ġkotlinx . serialization .* Ċ import Ġkotlinx . serialization . json .* Ċ import Ġkotlinx . serialization . modules .* Ċ import Ġkotlin . test .* Ċ Ċ class ĠJson Nullable Pol ymorphic Test Ġ: ĠJson TestBase () Ġ{ ĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠNullable Holder (@ Pol ymorphic Ġval Ġa : ĠAny ?) ĊĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġ@ Serial Name (" Box ") ĊĠĠĠ Ġdata Ġclass ĠBox ( val Ġi : ĠInt ) ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Pol ymorphic Null s () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJson Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġserializers Module Ġ= ĠSerial izers Module Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpol ymorphic ( Any :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubclass ( Box :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġassert Json Form And Restore d ( serializer (), ĠNullable Holder ( Box ( 4 2 )), Ġ""" {" a ":{" type ":" Box "," i ": 4 2 }} """, Ġjson ) ĊĠĠĠĠĠĠĠ Ġassert Json Form And Restore d ( serializer (), ĠNullable Holder ( null ), Ġ""" {" a ": null } """, Ġjson ) ĊĠĠĠ Ġ} Ċ } Ċ