Effizienter Aufbau von XML und JSONAlle,
Suchen Sie nach Anleitungen zum Codieren von Daten in XML sowie JSON von JMP (nur um den Umfang einzugrenzen - assoziative Arrays). Die folgende Diskussion hatte einige Relevanz für die JSON-Konstruktion, aber ich stieß auf einige Fehler mit der geposteten Funktion und sah auch nicht, ob eine Lösung erreicht wurde. Dies kann vernünftigerweise erreicht werden, indem entweder R ( toJSON-Funktion) oder Python verwendet wird. Ich frage mich, wie das in JSL gemacht werden kann.
https://community.jmp.com/t5/Discussions/Define-JSON-structure-for-data-exchange-which-supports-table-amp/td-p/49360
Re: Effizienter Aufbau von XML und JSON@BioData41 ,
Ich habe Ihren Code in JMP 14 und JMP 13.1.0 getestet und es hat gut funktioniert. Leider habe ich keinen Zugriff auf JMP 13.0
Re: Effizienter Aufbau von XML und JSONWenn ich dies in JMP 13.0 ausführe, erhalte ich die folgende Ausgabe im Protokollfenster:
json = "{\!"nicht unterstützt\!":\!"\!"}
";
Irgendeine Idee, was falsch sein könnte?
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: Effizienter Aufbau von XML und JSONNicht alles ist verloren! 
Da JSON Expr in 13.0 eingeführt wurde, haben Sie es. Sie haben jedoch keine Parse JSON- und JSON-booleschen Konstanten, und die Konstruktion des assoziativen Arrays ist nicht so rationalisiert wie im obigen Beispiel. Ich habe gerade Folgendes in 13.1 getestet:
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);
Das Ergebnis ist:
json = "{\!"a\!":1,\!"b\!":\!"B\!",\!"c\!":1,\!"d\!":{\!"d1\!":1,\!"d2\!":2},\!"e\!":[1,2]}
";
Re: Effizienter Aufbau von XML und JSON@nascif_jmp ,
Ich habe derzeit nur JMP 13.1.0. Werde es aber notieren. Vielen Dank.
Re: Effizienter Aufbau von XML und JSONWie wäre es mit As JSON Expr()? Sie können ihm Ihr assoziatives Array geben und es sollte sich um den Rest kümmern.
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));
Das Ergebnis sollte sein (getestet in 14.0):
json = "{\!"a\!":1,\!"b\!":\!"B\!",\!"c\!":\!"true\!",\!"d\!":{\!"d1\!":1,\!"d2\!":2},\!"e\!":[1,2,3]}";
Char(aa) == Char(aa2) = 1;