Costruzione efficiente di XML e JSONTutto,
Alla ricerca di indicazioni sulla codifica dei dati in XML e JSON da JMP (solo per restringere l'ambito - array associativi). La discussione seguente ha avuto alcuni aspetti rilevanti per la costruzione JSON, ma stavo riscontrando alcuni errori con la funzione pubblicata e inoltre non ho visto se è stata raggiunta una soluzione. Questo può essere raggiunto ragionevolmente usando R (funzione toJSON) o Python. Mi chiedo come si possa fare in JSL.
https://community.jmp.com/t5/Discussions/Define-JSON-structure-for-data-exchange-which-supports-table-amp/td-p/49360
Re: Costruzione efficiente di XML e JSON@Biodati41 ,
Ho testato il tuo codice in JMP 14 e JMP 13.1.0 e ha funzionato bene. Spiacente, non ho accesso a JMP 13.0
Re: Costruzione efficiente di XML e JSONQuando lo eseguo in JMP 13.0, ottengo il seguente output nella finestra di registro:
json = "{\!"non supportato\!":\!"\!"}
";
Qualche idea su cosa potrebbe essere sbagliato?
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: Costruzione efficiente di XML e JSONNon tutto è perduto! 
Poiché JSON Expr è stato introdotto nella 13.0, quindi ce l'hai. Tuttavia, non avrai costanti booleane di analisi JSON e JSON e la costruzione di array associativi non è così snella come nell'esempio sopra. Ho appena testato quanto segue in 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);
Il risultato è:
json = "{\!"a\!":1,\!"b\!":\!"B\!",\!"c\!":1,\!"d\!":{\!"d1\!":1,\!"d2\!":2},\!"e\!":[1,2]}
";
Re: Costruzione efficiente di XML e JSON@nascif_jmp ,
Ho solo JMP 13.1.0 a questo punto. Ma prenderò nota. Grazie.
Re: Costruzione efficiente di XML e JSONChe ne dici di usare As JSON Expr()? Puoi dargli il tuo array associativo e dovrebbe occuparsi del resto.
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));
Il risultato dovrebbe essere (testato in 14.0):
json = "{\!"a\!":1,\!"b\!":\!"B\!",\!"c\!":\!"true\!",\!"d\!":{\!"d1\!":1,\!"d2\!":2},\!"e\!":[1,2,3]}";
Char(aa) == Char(aa2) = 1;