package Ġcom . jay . flutter _ hybrid _ android . utils Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . stream . Json Reader Ċ import Ġjava . io . Reader Ċ import Ġjava . lang . reflect . Type Ċ Ċ object ĠGson Utils Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġjson åŃĹç¬¦ä¸² åĽŀ æķ°ç»Ħ Ġexample : Type Ġlist Type Ġ= Ġnew ĊĠĠĠĠ Ġ* ĠType Token < List ></ List >< Order >>() {}. getType (); å°Ĩ list Type ä¼ł åĪ° æĸ¹æ³ķ éĩĮ ĊĠĠĠ Ġ</ Order > Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġfrom Json ( str json : ĠString ?, Ġtp : ĠType ?): ĠList < T >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgs Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠType Ġlist Type Ġ= Ġnew ĠType Token < List < T >>() {}. getType (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgs . fromJson ( str json , Ġtp ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġjson åŃĹç¬¦ä¸² è½¬ map ĊĠĠĠĠ Ġ* Ġval Ġtype Ġ= Ġobject Ġ: ĠType Token < HashMap ></ HashMap >< String ></ String >, ĠString >>() Ġ{} . type ĊĠĠĠĠ Ġ* Ġå°Ĩ Ġtype Ġ ä¼ł åĪ° æĸ¹æ³ķ éĩĮ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< K , ĠV > Ġfrom Json ToMap ( str Json : ĠString ?, Ġtp : ĠType ?): ĠMap < K , ĠV >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgs Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgs . fromJson ( str Json , Ġtp ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġjson åŃĹç¬¦ä¸² åĽŀ æķ°ç»Ħ Ġexample : Type Ġlist Type Ġ= Ġnew ĊĠĠĠĠ Ġ* ĠType Token < List ></ List >< Order >>() {}. getType (); å°Ĩ list Type ä¼ł åĪ° æĸ¹æ³ķ éĩĮ ĊĠĠĠ Ġ</ Order > Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġfrom Json ( reader : ĠReader ?, Ġtp : ĠType ?): ĠList < T >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgs Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠType Ġlist Type Ġ= Ġnew ĠType Token < List < T >>() {}. getType (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgs . fromJson ( reader , Ġtp ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġjson åŃĹç¬¦ä¸² è¿ĶåĽŀ å¯¹è±¡ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġstr json Ġjson åŃĹç¬¦ä¸² ĊĠĠĠĠ Ġ* Ġ@ param Ġcls ĠĠĠĠ Ġå¯¹è±¡ ç±»åŀĭ ĊĠĠĠĠ Ġ* Ġ@ param Ġ< T > ĠĠĠĠ Ġ æ³Ľ åŀĭ å¯¹è±¡ ĊĠĠĠĠ Ġ* Ġ@ return Ġå¯¹è±¡ ĊĠĠĠ Ġ</ T > Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġfrom Json ( str json : ĠString ?, Ġcls : ĠClass < T >? ): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgs Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠType Ġlist Type Ġ= Ġnew ĠType Token < List < T >>() {}. getType (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgs . fromJson ( str json , Ġcls ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġjson åŃĹç¬¦ä¸² è¿ĶåĽŀ å¯¹è±¡ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġreader Ġæķ°æį® æµģ ĊĠĠĠĠ Ġ* Ġ@ param Ġcls ĠĠĠ Ġå¯¹è±¡ ç±»åŀĭ ĊĠĠĠĠ Ġ* Ġ@ param Ġ< T > ĠĠĠ Ġ æ³Ľ åŀĭ å¯¹è±¡ ĊĠĠĠĠ Ġ* Ġ@ return Ġå¯¹è±¡ ĊĠĠĠ Ġ</ T > Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġfrom Json ( reader : ĠReader ?, Ġcls : ĠClass < T >? ): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgs Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠType Ġlist Type Ġ= Ġnew ĠType Token < List < T >>() {}. getType (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgs . fromJson ( reader , Ġcls ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġjson åŃĹç¬¦ä¸² è¿ĶåĽŀ å¯¹è±¡ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġreader Ġæķ°æį® æµģ ĊĠĠĠĠ Ġ* Ġ@ param Ġcls ĠĠĠ Ġå¯¹è±¡ ç±»åŀĭ ĊĠĠĠĠ Ġ* Ġ@ param Ġ< T > ĠĠĠ Ġ æ³Ľ åŀĭ å¯¹è±¡ ĊĠĠĠĠ Ġ* Ġ@ return Ġå¯¹è±¡ ĊĠĠĠ Ġ</ T > Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġfrom Json ( reader : ĠJson Reader ?, Ġcls : ĠClass < T >? ): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgs Ġ= ĠGson () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠType Ġlist Type Ġ= Ġnew ĠType Token < List < T >>() {}. getType (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgs . fromJson ( reader , Ġcls ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** * ĊĠĠĠĠ Ġ* Ġå°Ĩ å¯¹è±¡ è½¬æį¢ æĪĲ json åŃĹç¬¦ä¸² ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġobject ĠéľĢè¦ģ è½¬æį¢ çļĦ å¯¹è±¡ ĊĠĠĠĠ Ġ* Ġ@ return Ġjson åŃĹç¬¦ä¸² ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠtoJson (` object `: ĠAny ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠGson (). toJson (` object `) ĊĠĠĠ Ġ} Ċ }