Abaixo está minha string JSON. Estou tentando extrair hosts
a partir dele.
{"description":"DescA","process_running":"sf","hosts":{"dc1":["machineA","machineB"]}}
Como hosts é uma String JSON em si e gostaria de extrair essa String JSON dela. Eu estou usando GSON aqui -
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
Eu estava tentando usar Map
para desserializar, mas o resultado está vindo assim no data-
{description=DescA, process_running=sf, hosts={dc1=[machineA, machineB]}}
Existe alguma maneira, eu posso extrair hosts
no formato JSON?
Respostas:
1 para resposta № 1A maneira mais fácil que eu posso pensar em fazer isso seria usar o gson para criar uma árvore de elementos json do seu mapa, e pedir para ele dar apenas o nó do host:
Map<String, Object> data = gson.fromJson(ss, Map.class); // parse
JsonObject jsonTree = (JsonObject) gson.toJsonTree(data);
String hostsJson = jsonTree.get("hosts").toString();