package Ġcom . github . fluid sonic . fluid . json ĊĊ Ċ object ĠMap JSON Codec Ġ: ĠAbstract JSON Codec < Map < *, Ġ* >, ĠJSON Coder Context >() Ġ{ ĊĊ ĉ override Ġfun Ġdecode ( valueType : ĠJSON Cod able Type < in ĠMap < *, Ġ* >>, Ġdecoder : ĠJSON Decoder < JSON Coder Context >): ĠMap < *, Ġ*> Ġ{ Ċĉ ĉ val Ġ( element KeyType , Ġelement ValueType ) Ġ= Ġvalue Type . arguments ĊĊĉ ĉ return Ġdecoder . read Map By Element Ġ{ Ċĉĉ ĉ readValue OfType OrNull ( element KeyType ) Ġto Ġread Value OfType OrNull ( element ValueType ) Ċĉ ĉ } Ċ ĉ } ĊĊĊ ĉ override Ġfun Ġencode ( value : ĠMap < *, Ġ* >, Ġencoder : ĠJSON Encoder < JSON Coder Context >) Ġ= Ċĉ ĉ encoder . write Map ( value ) ĊĊĊ ĉ val Ġnon Recursive Ġ= ĠNon Recursive JSON Codec . create < Map < String , Ġ* >>() Ċ } Ċ