package Ġcom . nov 0 cx . json sp ig ot config . json Ċ Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġcom . fasterxml . jackson . databind . ObjectMapper Ċ import Ġcom . fasterxml . jackson . databind . node . Object Node Ċ import Ġcom . nov 0 cx . json sp ig ot config . exceptions . JsonValue NotFoundException Ċ import Ġjava . io . File Ċ import Ġjava . math . BigDecimal Ċ import Ġjava . math . BigInteger Ċ Ċ class ĠJson Ġ{ ĊĠĠĠ Ġval Ġmapper : ĠObjectMapper Ġ= Ġget ObjectMapper () ĊĊĠĠĠ Ġprivate Ġfun Ġget ObjectMapper (): ĠObjectMapper Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠObjectMapper () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġparse ( src : ĠString ): ĠJsonNode Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmapper . read Tree ( src ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite Object ( file : ĠFile , Ġany : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġany ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite String ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite Int ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite Float ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite Double ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite Long ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite Short ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠShort ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite ByteArray ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠByteArray ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite Bool ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite BigDecimal ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠBigDecimal ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite BigInteger ( file : ĠFile , Ġname : ĠString , Ġvalue : ĠBigInteger ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node (). put ( name , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġmapper . writeValue ( file , Ġnode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġread ( file : ĠFile , Ġname : ĠString ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġmapper . createObject Node () ĊĠĠĠĠĠĠĠ Ġif ( node . has ( name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnode . get ( name ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠJson Value NotFoundException ( name , ĠfileName Ġ= Ġfile . name ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ< T > Ġfrom Json ( node : ĠJsonNode , Ġclazz : ĠClass < T >): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmapper . tree To Value ( node , Ġclazz ) ĊĠĠĠ Ġ} Ċ }