package Ġcom . example . demo . util Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Json Parser Ċ import Ġcom . google . gson . reflect . Type Token Ċ Ċ object ĠGson Util Ġ{ ĊĊĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĊĠĠĠ Ġprivate Ġval Ġjson Parser Ġ= ĠJson Parser () ĊĊĠĠĠ Ġ// json Ġformat Ġdata Ġconvert Ġjava Ġbean ĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġto Bean ( json : ĠString ): ĠT Ġ= Ġgson . fromJson ( json , ĠT :: class . java ) ĊĊĠĠĠ Ġfun Ġto Map () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġ< re ified ĠT > Ġto List ( json : ĠString ): ĠT Ġ= Ġgson . fromJson < T >( json , Ġobject Ġ: ĠType Token < T >() Ġ{} . type ) ĊĊĊĠĠĠ Ġ// get Ġsingle Ġvalue Ġ( use Ġkey - value ) Ġsearch Ġin Ġjson ĊĠĠĠ Ġfun Ġget Single Value ( json : ĠString , Ġkey : ĠString ): ĠString Ġ= Ġjson Parser . parse ( json ). as JsonObject [ key ]. asString ĊĊĠĠĠ Ġ// means Ġup ward ĊĠĠĠ Ġfun ĠgetValue ( json : ĠString , Ġkeys : ĠList < String >): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġraw JsonArray Ġ= Ġjson Parser . parse ( json ). as JsonObject ĊĠĠĠĠĠĠĠ Ġval Ġjson List Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġrepeat ( keys . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson List . add ( raw JsonArray [ keys [ it ]]. asString ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġjson List ĊĠĠĠ Ġ} Ċ Ċ }