package Ġcom . g itee . xu ank aic at . k mn kt . aliyun iot . al ink Ċ Ċ import Ġkotlinx . serialization . encode ToString Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġkotlinx . serialization . json . Json Element Ċ import Ġkotlinx . serialization . json . JsonObject Ċ import Ġkotlinx . serialization . json . Json Primitive Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ Ċ class ĠA link Base Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġserial izable Test () Ġ{ ĊĠĠĠĠĠĠĠ ĠassertEquals (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{" id ":" 0 "," sys ":{" ack ":" 0 "}," version ":" 1 . 0 "," params ":{" 1 ":" a "," 2 ":" b "}," method ":" test "} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJson . encode ToString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA link Base (" 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= ĠjsonObject ( map Of (" 1 " Ġto Ġ" a ", Ġ" 2 " Ġto Ġ" b ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod Ġ= Ġ" test ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠassertEquals (""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ{" id ":" 0 "," sys ":{" ack ":" 0 "}," version ":" 1 . 0 "," params ":{" 1 ":" a "," 2 ":{" 2 . 1 ":" b "} }," method ":" test "} ĊĠĠĠĠĠĠĠ Ġ""" . trim Indent (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJson . encode ToString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA link Base (" 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparams Ġ= ĠjsonObject ( map Of (" 1 " Ġto Ġ" a ", Ġ" 2 " Ġto Ġmap Of (" 2 . 1 " Ġto Ġ" b ")) ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmethod Ġ= Ġ" test ")) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠjsonObject ( content : ĠMap < String , ĠAny >): ĠJson Element Ġ= ĊĠĠĠĠĠĠĠ ĠJsonObject ( content . map Values Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMap < *, Ġ*> Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĠjsonObject ( it . value Ġas ĠMap < String , ĠAny >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson Primitive ( it . value Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) Ċ }