package Ġcom . sin ch . metadata . collector . sim Ċ Ċ import Ġcom . sin ch . metadata . model . sim . Sim Card Info Ċ import Ġkotlinx . serialization . builtins . List Serializer Ċ import Ġkotlinx . serialization . json .* Ċ Ċ const Ġval ĠTRANS FORMATION _ NAME Ġ= Ġ" Sim Cards InfoList Transform " Ċ Ċ /** Ċ Ġ* ĠSerializer Ġused Ġfor Ġmapping Ġ[ Sim Card Info ] Ġlists Ġpassed Ġin Ġrequests Ġcontaining Ġphone Ġmetadata Ġfields Ġas Ċ Ġ* Ġsin ch Ġapi Ġuses Ġnot Ġstandard ĠJSON Ġfor Ġprocessing Ġthese Ġproperties . Ċ Ġ* Ċ Ġ* ĠExample ĠJSON : Ċ Ġ* Ġ``` Ċ Ġ* Ġ{ Ċ Ġ* ĠĠĠ Ġ" 1 ":{ Ċ Ġ* ĠĠĠĠĠĠ Ġ" sim ": null , Ċ Ġ* ĠĠĠĠĠĠ Ġ" operator ":{ Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġ" country Id ":" pl ", Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġ" name ":" Orange ", Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġ" is Roaming ": false , Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġ" m cc ":" 2 6 0 ", Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġ" m nc ":" 3 " Ċ Ġ* ĠĠĠĠĠĠ Ġ} Ċ Ġ* ĠĠĠ Ġ}, Ċ Ġ* ĠĠĠ Ġ" count ": 1 Ċ Ġ* Ġ} Ċ Ġ* Ġ``` Ċ Ġ*/ Ċ object ĠSim Cards InfoList Serializer Ġ: ĊĠĠĠ ĠJson Transform ing Serializer < List < Sim Card Info >>( ĊĠĠĠĠĠĠĠ ĠList Serializer ( Sim Card Info . serializer ()) ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠ Ġprivate Ġconst Ġval ĠCOUNT _ FIELD _ NAME Ġ= Ġ" count " ĊĊĠĠĠ Ġoverride Ġfun Ġtransform Serialize ( element : ĠJson Element ): ĠJson Element Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement Ġ! is ĠJson Array Ġ-> Ġthrow ĠIllegalStateException (" Only Ġlists Ġcan Ġbe Ġtransformed ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelement . size Ġ== Ġ 0 Ġ-> Ġbuild JsonObject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( COUNT _ FIELD _ NAME , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġbuild JsonObject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġelement . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ("${ i Ġ+ Ġ 1 }", Ġelement [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( COUNT _ FIELD _ NAME , Ġelement . size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }