import Ġorg . json . JSONArray Ċ import Ġorg . json . JSONObject Ċ import Ġjava . io . File Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĊĠĠĠ Ġval Ġroot Json Ġ= ĠJSONObject () ĊĠĠĠ Ġvar Ġid Ġ= Ġ 1 ĊĠĠĠ Ġval Ġcategory Index Ġ= ĠJSONArray () ĊĠĠĠ Ġval Ġoptions Index Ġ= ĠJSONObject () ĊĠĠĠ Ġouter @ while Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprint (" Enter Ġa Ġname Ġfor Ġthe Ġcategory : Ġ") ĊĠĠĠĠĠĠĠ Ġval Ġcategory Name Ġ= Ġread Line () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġif Ġ( category Name Ġ== Ġ" exit ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprint (" Enter Ġa Ġchannel : Ġ") ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= Ġread Line () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġcategory Index . put ( JSONObject (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput (" id ", Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput (" channel ", Ġchannel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput (" name ", Ġcategory Name ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġprint (" Enter Ġa Ġlist Ġof Ġnom ine es Ġseparated Ġby Ġa Ġcomma : Ġ") ĊĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= Ġread Line () Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġif ( options . isBlank ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" No Ġnom ine es Ġentered ...") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġarr Ġ= ĠJSONArray () ĊĠĠĠĠĠĠĠ Ġoptions . split ("," ). forEach Indexed Ġ{ Ġi , Ġo Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarr . put ( JSONObject (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" emoji ", Ġ"${ i + 1 } â ĥ £ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput (" name ", Ġo ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoptions Index . put ( id . toString (), Ġarr ) ĊĠĠĠĠĠĠĠ Ġid ++ ĊĠĠĠ Ġ} ĊĠĠĠ Ġroot Json . put (" categories ", Ġcategory Index ) ĊĠĠĠ Ġroot Json . put (" options ", Ġoptions Index ) ĊĊĠĠĠ Ġval Ġout Ġ= ĠFile (" output . json ") ĊĠĠĠ Ġout . write Text ( root Json . toString ( 2 )) ĊĠĠĠ Ġprintln (" Final Ġjson Ġwritten Ġto Ġ` output . json ` ") Ċ }