¿Cómo extrae datos específicos de un objeto javascript cuando no conoce el nombre del campo de propiedad porque es un objeto que se convirtió de un hashmap en java?
En mi caso, creé un objeto Hashmap en Java y usando el método put, puse en este objeto tres pares clave/valor. Este objeto hashmap es parte de otro objeto modelo de Java que solo tiene campos ordinarios, a saber: nombre (Cadena) y número de identificación (int). Luego convertí la salida de un método que tiene un objeto, que incluye los dos campos y el objeto hashmap, en un objeto json para usar en javascript.
El problema es que puedo acceder a los campos de nombre e identificación en javascript usando el punto de acceso, es decir, obj.name y obj.id, pero no sé cómo acceder a la información del hashmap por separado, que se convirtió a json porque la clave /valores no tienen campos con nombre.
Cuando uso el punto de acceso y pongo el nombre del objeto hashmap (en otras palabras, obj.student donde 'estudiante' es el nombre del hashmap) me da tanto la clave como los valores, es decir, el nombre del estudiante "Paul" y grado '9' (el hasmap tiene String para nombres e int para grados).
Lo que me gustaría es poder acceder tanto a la clave como a los valores por separado, ya que quiero usarlos en un gráfico js.
for (var i=0; i<jsonString.length; i++) { let obj = jsonString[i]; xValues[i] = obj.name; yValues[i] = obj.id; const myJSON = JSON.stringify(obj.student); xValuesOne[i] = myJSON; }El código anterior funciona para extraer las propiedades de nombre e identificación, pero para la propiedad del estudiante, como era un mapa hash en Java, los valores específicos no tienen nombres que pueda usar para extraer las propiedades.
La parte de la cadena debe ser el nombre del estudiante (eje x) y la parte int del hashmap debe ser su calificación (eje y).
Por el momento, en relación con los datos de los estudiantes, xValuesOne[i] produce tanto la cadena (nombre) como el int (calificación) en el eje x. Me gustaría extraer tanto la cadena como el int por separado y colocarlos en diferentes ejes para el gráfico js.
¿Alguna idea sobre cómo hacer esto?