[(#REM) ] [(#ENV{data}|is_string|oui) #SET{data,#ENV{data}|explode{","}} ] [(#ENV{data}|is_array|oui) #SET{data,#ENV{data}} ] [(#REM) ] #SET{ouvre,\{} #SET{ouvre_enfant,#VAL|concat{"'",children,"'",: \[}} #SET{ferme,#VAL{\}}|concat{","}} #SET{ferme_enfant,#VAL{','}|concat{}} #SET{ferme_remonte,#VAL{\}}|concat{"\]","\}",","}} [(#VALEUR|substr{0,1}|=={^}|oui) [(#REM) ... si on remonte, il n'y a pas d'enfant. On annule ferme_enfant et on substitue ferme_remonte] [(#SET{json_data,#GET{json_data}|substr{0,-1}})] [(#SET{json_data,#GET{json_data}#GET{ferme_remonte}})] [(#SET{json_data,#GET{json_data}|concat{#VAL{"\]\},"}|str_repeat{#VALEUR|strrpos{^}}}})] [(#SET{enfant_en_cours,#GET{enfant_en_cours}|moins{#VALEUR|strrpos{^}|plus{1}}})] ] [(#COMPTEUR_BOUCLE|!={1}|oui|et{#VALEUR|substr{0,1}|!={^}|oui}) [(#REM) ... sur un enfant] [(#SET{json_data,#GET{json_data}#GET{ouvre_enfant}})] [(#SET{enfant_en_cours,#GET{enfant_en_cours}|plus{1}})] ] [(#REM) On ouvre...] [(#SET{json_data,#GET{json_data}#GET{ouvre}})] [(#REM) Des frères et soeurs] #SET{transfert,#VALEUR} [(#GET{debug}|!={true}|oui|et{#VALEUR|substr{0,1}|=={^}|oui}) #SET{transfert,#GET{transfert}|substr{#VALEUR|strrpos{^}|plus{1}}} ] #SET{ligne,#GET{transfert}|explode{"#"}} [(#REM) en ligne] [(#COMPTEUR_BOUCLE|!={1}|oui) [(#SET{json_data,#GET{json_data}#GET{ferme}})] [(#SET{json_data,#GET{json_data}#GET{ouvre}})] ]#SET{case,#VALEUR|explode{"/"}} [(#SET{json_data,#GET{json_data}|concat{"'",name,"': '",#GET{case/0},"', '",title,"': '",'',#GET{case/1},,"'"}})] [(#SET{json_data,#GET{json_data}#GET{ferme_enfant}})] [(#REM) On annule ferme_enfant] [(#SET{json_data,#GET{json_data}|substr{0,-1}})] [(#SET{json_data,#GET{json_data}|concat{#VAL{'}]'}|str_repeat{#GET{enfant_en_cours}}}})] [(#SET{json_data,#GET{json_data}\}})] #GET{json_data}