Cómo convertir un Json anidado a un Map en Java
Estoy tratando de leer un json anidado y convertirlo en un Mapa. Puedo analizar el json a objetos java pero no puedo convertirlos en un mapa a partir de esos objetos java.
A continuación se muestra el json:
“sources”: [
{
“database”: {
“dbConnectionId”: “TestDBConnectionId”,
“tableNames”: [
{
“tableName”: “TestTableName011”,
“keys”: [“column010, column011”]
},
{
“tableName”: “TestTableName012”,
“keys”: [“column020, column021”]
}
]
}
}
]
Objeto Java creado como sigue:
public class Sources {
private Database database;
//Getter y Setter
}
public class Database {
private String dbConnectionId;
private List<tablenames> tableNames;
//Getter y Setter
}
public class TableNames {
private String tableName;
private List<string> keys;
//Getter y Setter
}
davy.ai
Para convertir los objetos Java en un Map, puedes usar el siguiente código:
Aquí, primero utilizamos el
ObjectMapper
de Jackson para deserializar la cadena de JSON en objetos Java. Luego, utilizamos el mismoObjectMapper
para convertir el objetosources
en unMap<string, object="">
.Después, podemos recuperar el map
database
delsourcesMap
, y obtener la cadenadbConnectionId
de él.Finalmente, iteramos a través de
tableNamesList
, que contiene objetosMap<string, object="">
que representan cada entrada de nombre de tabla. Dentro del ciclo, obtenemos los valores detableName
ykeys
de cada entrada y hacemos algo con ellos.</string,></string,></string,></string,></string,></string,></string,></string,></string,>