Construcción eficiente de XML y JSONTodos,
En busca de orientación sobre la codificación de datos en XML, así como JSON de JMP (solo para limitar el alcance - matrices asociativas). La siguiente discusión tuvo algunos aspectos relevantes para la construcción de JSON, pero me encontré con algunos errores con la función publicada y tampoco ví si se logró una solución. Esto se puede lograr razonablemente usando R (función toJSON) o Python. Me pregunto cómo se puede hacer esto en JSL.
https://community.jmp.com/t5/Discussions/Define-JSON-structure-for-data-exchange-which-supports-table-amp/td-p/49360
Re: Construcción eficiente de XML y JSON @ BioData41 ,
Probé su código en JMP 14 y JMP 13.1.0 y funcionó bien. Lo siento, no tengo acceso a JMP 13.0
Re: Construcción eficiente de XML y JSONCuando ejecuto esto en JMP 13.0, obtengo el siguiente resultado en la ventana de registro:
json = "{\!" no admitido \! ": \!" \! "}
";
¿Alguna idea de lo que podría estar mal?
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: Construcción eficiente de XML y JSON¡No todo está perdido! 
Como JSON Expr se introdujo en 13.0, entonces lo tienes. Sin embargo, no tendrá las constantes booleanas Parse JSON y JSON, y la construcción Associative Array no está tan simplificada como en el ejemplo anterior. Acabo de probar lo siguiente 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);
El resultado es:
json = "{\!"a\!":1,\!"b\!":\!"B\!",\!"c\!":1,\!"d\!":{\!"d1\!":1,\!"d2\!":2},\!"e\!":[1,2]}
";
Re: Construcción eficiente de XML y JSON @nascif_jmp ,
Sólo tengo JMP 13.1.0 en este punto. Pero hará una nota. Gracias.
Re: Construcción eficiente de XML y JSON¿Qué hay de usar As JSON Expr ()? Puedes darle tu conjunto asociativo y debe encargarse 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));
El resultado debe ser (probado en 14.0):
json = "{\!"a\!":1,\!"b\!":\!"B\!",\!"c\!":\!"true\!",\!"d\!":{\!"d1\!":1,\!"d2\!":2},\!"e\!":[1,2,3]}";
Char(aa) == Char(aa2) = 1;