Analyser JSON () est difficile à utiliser car il ne gère pas bien les erreurs. Dans un rappel, peut-être à partir de RunProgram ou d'un bouton, il créera une boîte de dialogue de modèle indésirable annonçant l'échec. Il annoncera également l'échec dans le journal. Il faut du JSL supplémentaire pour le réparer :
New Window( "parsejson",
Button Box( "parse",
local( {birestore, errText},
birestore = Batch Interactive( 1 ); // makes an alert dialog from a button without this
errText = Log Capture( p = Parse JSON( "\!n" /* invalid json error */ ) ); // writes to the log without this
Batch Interactive( birestore ); // pop the previous behavior
If( Length( errText ), Throw( "Caught an error:" || char(errText) ) ); // handle unexpected error, somehow
/* use p here */
)
)
);
Suggestion : ajoutez un paramètre facultatif pour modifier le comportement, quelque chose comme parseJson(x, lancerSiErreur() )
Analyse JSON à sécurité intégrée