Convertir una matriz de Javascript a una matriz de Java

Estoy tratando de convertir una matriz de Javascript en Java a una matriz de Java. Estoy usando el paquete javax.script. Probé este ejemplo aquí, pero no se reconoció el tipo "NativeArray": https://stackoverflow.com/a/1433489/975097

¿Cómo puedo hacer que se reconozca el tipo NativeArray?

Respuesta 1

Rhino ofrece esto:

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Embedding_tutorial#usingJSObjs

También la interfaz de secuencias de comandos ofrece get () y set () para que pueda enumerar fácilmente las propiedades de un objeto y agregarlo a una matriz:

Scriptable arr = (Scriptable) result;
Object [] array = new Object[arr.getIds().length];
for (Object o : arr.getIds()) {
   int index = (Integer) o;
   array[index] = arr.get(index, null);
}

Lo mismo pero sin usar NativeArray ya que parece ser una cosa específica de Rhino. Podrías soltar fácilmente un punto de interrupción y ver qué tipo de objeto te dieron y luego abatirlo. Es una especie de implementación de JS Array que está bastante cerca de NativeArray.

Respuesta: 2

Recomendaría la biblioteca JSON-java de Doug Crockfords . Esto le permite convertir json en objetos JAVA nativos.

Respuesta: 3

Tengo dos versiones de un proyecto con una prueba JUnit. Mirando la diferencia de los archivos no hay una razón obvia para esto, pero la prueba pasa en un proyecto pero no en el otro. Por un tiempo ahora he ...

Para evitar advertencias de acceso ilegal para jfxrt.jar, cambié manualmente mi archivo classpath para incluir reglas de acceso: Se quería entrada classpath <classpathentry kind = "con" path = "org.eclipse.jdt ....

Me preguntaba si alguna de las bibliotecas de matrices conocidas para Java, como Colt o EJML, en realidad proporcionan una funcionalidad similar a MatLab. Por ejemplo, parece que no puedo encontrar ningún lugar en el ...

¿Cómo reemplazar el siguiente código usando Java 8 Opcionales (programación funcional)? ClassA classA = dbService.findByA (a); if (classA == null) {classA = dbService.findByB (b); } if (classA == null) {...