package Ġio . github . sh ing lem . easy vertx . core . json Ċ Ċ import Ġcom . fasterxml . jackson . annotation . JsonInclude Ċ import Ġcom . fasterxml . jackson . core . Json Parser Ċ import Ġcom . fasterxml . jackson . core . Json Processing Exception Ċ import Ġcom . fasterxml . jackson . core . TreeNode Ċ import Ġcom . fasterxml . jackson . databind . Deserialization Context Ċ import Ġcom . fasterxml . jackson . databind . Deserialization Feature Ċ import Ġcom . fasterxml . jackson . databind . Json Deserializer Ċ import Ġcom . fasterxml . jackson . databind . exc . Invalid FormatException Ċ import Ġcom . fasterxml . jackson . databind . module . Simple Module Ċ import Ġcom . fasterxml . jackson . databind . node . Array Node Ċ import Ġcom . fasterxml . jackson . datatype . jdk 8 . J dk 8 Module Ċ import Ġcom . fasterxml . jackson . datatype . js r 3 1 0 . Java Time Module Ċ import Ġcom . fasterxml . jackson . module . kotlin . Kotlin Module Ċ import Ġio . vertx . core . json . Decode Exception Ċ import Ġio . vertx . core . json . JsonArray Ċ import Ġio . vertx . core . json . JsonObject Ċ import Ġio . vertx . core . json . jackson . D atab ind Codec Ċ import Ġjava . io . IOException ĊĊ Ċ fun Ġregister Json Mapper () Ġ{ ĊĊĠĠĠ Ġval Ġmodule Ġ= ĠSimple Module () ĊĊĠĠĠ Ġmodule . add Deserializer ( JsonArray :: class . java , ĠJson Array Deserializer ()) ĊĠĠĠ Ġmodule . add Deserializer ( JsonObject :: class . java , ĠJsonObject Deserializer ()) ĊĊĠĠĠ ĠD atab ind Codec . mapper (). register Module ( module ) ĊĠĠĠ ĠD atab ind Codec . pretty Mapper (). register Module ( module ) ĊĊĠĠĠ ĠD atab ind Codec . mapper (). register Module ( Kotlin Module ()) ĊĠĠĠ ĠD atab ind Codec . pretty Mapper (). register Module ( Kotlin Module ()) ĊĊĠĠĠ ĠD atab ind Codec . mapper (). set Serialization In clusion ( JsonInclude . Include . NON _ NULL ) ĊĠĠĠ ĠD atab ind Codec . pretty Mapper (). set Serialization In clusion ( JsonInclude . Include . NON _ NULL ) ĊĠĠĠ ĠD atab ind Codec . mapper (). register Module ( J dk 8 Module ()). register Module ( Java Time Module ()) ĊĠĠĠ ĠD atab ind Codec . pretty Mapper (). register Module ( J dk 8 Module ()). register Module ( Java Time Module ()) ĊĠĠĠ ĠD atab ind Codec . mapper (). configure ( Deserialization Feature . FAIL _ ON _ UNKNOWN _ PROPERTIES Ġ, Ġfalse ) Ċ } Ċ Ċ internal Ġclass ĠJsonObject Deserializer Ġ: ĠJson Deserializer < JsonObject >() Ġ{ ĊĠĠĠ Ġ@ Throws ( IOException :: class , ĠJson Processing Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( p : ĠJson Parser , Ġctxt : ĠDeserial ization Context ): ĠJsonObject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġp . readValue As Tree < TreeNode >() ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġnode . toString () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJsonObject ( text ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġis ĠNullPointerException Ġ|| Ġe Ġis ĠDecode Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid FormatException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp , Ġ" node Ġto Ġjson Ġobject Ġfailed ", Ġtext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJsonObject :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ internal Ġclass ĠJson Array Deserializer Ġ: ĠJson Deserializer < JsonArray >() Ġ{ ĊĠĠĠ Ġ@ Throws ( IOException :: class , ĠJson Processing Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( p : ĠJson Parser , Ġctxt : ĠDeserial ization Context ): ĠJson Array Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġp . readValue As Tree < TreeNode >() ĊĠĠĠĠĠĠĠ Ġif Ġ(! node . isArray ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid FormatException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp , Ġ" node Ġis Ġnot Ġarray ", Ġnode , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson Array :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ( node Ġas ĠArray Node ). toString () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJson Array ( text ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġis ĠNullPointerException Ġ|| Ġe Ġis ĠDecode Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠInvalid FormatException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp , Ġ" node Ġto Ġarray Ġfailed ", Ġtext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJson Array :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ