A continuación se muestra mi cadena JSON. Estoy tratando de extraer hosts
de eso.
{"description":"DescA","process_running":"sf","hosts":{"dc1":["machineA","machineB"]}}
Dado que hosts es una cadena JSON en sí misma y me gustaría extraer esa cadena JSON. Estoy usando GSON aquí -
String ss = new String(bytes, Charset.forName("utf-8"));
// here ss is the above JSON String
Map<String, Object> data = gson.fromJson(ss, Map.class); // parse
Estaba tratando de usar Map
Deserializar pero el resultado viene así en los datos.
{description=DescA, process_running=sf, hosts={dc1=[machineA, machineB]}}
¿Hay alguna manera, puedo extraer hosts
en el formato json?
Respuestas
1 para la respuesta № 1La forma más fácil que se me ocurra para hacer esto sería usar gson para crear un árbol de elementos json desde su mapa, y pedirle que le proporcione solo el nodo de hosts:
Map<String, Object> data = gson.fromJson(ss, Map.class); // parse
JsonObject jsonTree = (JsonObject) gson.toJsonTree(data);
String hostsJson = jsonTree.get("hosts").toString();