Construction efficace de XML et JSONTout,
Vous recherchez des conseils sur l'encodage des données en XML ainsi que JSON à partir de JMP (juste pour réduire la portée - tableaux associatifs). La discussion suivante avait des éléments pertinents pour la construction JSON, mais je rencontrais des erreurs avec la fonction publiée et je n'ai pas non plus vu si une solution avait été trouvée. Cela peut être réalisé raisonnablement en utilisant R (fonction toJSON) ou Python. Vous vous demandez comment cela peut être fait en JSL.
https://community.jmp.com/t5/Discussions/Define-JSON-structure-for-data-exchange-which-supports-table-amp/td-p/49360
Re : Construction efficace de XML et de JSON@BioData41 ,
J'ai testé votre code dans JMP 14 et JMP 13.1.0 et cela a bien fonctionné. Désolé, je n'ai pas accès à JMP 13.0
Re : Construction efficace de XML et de JSONLorsque j'exécute ceci dans JMP 13.0, j'obtiens le résultat suivant dans la fenêtre du journal :
json = "{\!"non pris en charge\!":\!"\!"}
" ;
Une idée de ce qui ne va pas?
Names Default To Here( 1 );
aa = [
"a" => 1,
"b" => "B",
"c" => 1
];
aa["d"] = ["d1" => 1, "d2" => 2];
aa["e"] = {1, 2};
json = As JSON Expr(aa);
Show(json);
Re : Construction efficace de XML et de JSONTout n'est pas perdu ! 
Comme JSON Expr a été introduit dans 13.0, vous l'avez donc. Cependant, vous n'aurez pas les constantes booléennes Parse JSON et JSON, et la construction d'un tableau associatif n'est pas aussi simplifiée que dans l'exemple ci-dessus. Je viens de tester ce qui suit en 13.1:
Names Default To Here( 1 );
aa = [
"a" => 1,
"b" => "B",
"c" => 1
];
aa["d"] = ["d1" => 1, "d2" => 2];
aa["e"] = {1, 2};
// JSL to JSON string
json = As JSON Expr( aa );
Show(json);
Le résultat est:
json = "{\!"a\!":1,\!"b\!":\!"B\!",\!"c\!":1,\!"d\!":{\!"d1\!":1,\!"d2\!":2},\!"e\!":[1,2]}
";
Re : Construction efficace de XML et de JSON@nascif_jmp ,
Je n'ai que JMP 13.1.0 à ce stade. Mais va faire une note. Merci.
Re : Construction efficace de XML et de JSONQue diriez-vous d'utiliser As JSON Expr() ? Vous pouvez lui donner votre tableau associatif et il devrait s'occuper du reste.
Names Default To Here( 1 );
aa = [
"a" => 1,
"b" => "B",
"c" => true,
"d" => [ "d1" => 1, "d2" => 2],
"e" => { 1, 2, 3}
];
// JSL to JSON string
json = As JSON Expr( aa );
Show(json);
// JSON string back to JSL
aa2 = Parse JSON (json);
// check if they match
Show(char(aa) == char(aa2));
Le résultat devrait être (testé en 14.0):
json = "{\!"a\!":1,\!"b\!":\!"B\!",\!"c\!":\!"true\!",\!"d\!":{\!"d1\!":1,\!"d2\!":2},\!"e\!":[1,2,3]}";
Char(aa) == Char(aa2) = 1;