繁体   English   中英

如何使用GSON从json字符串中提取json?

[英]How to extract json from a json string using GSON?

以下是我的JSON字符串。 我正在尝试从中提取hosts

{"description":"DescA","process_running":"sf","hosts":{"dc1":["machineA","machineB"]}}

由于hosts本身就是一个JSON字符串,因此我想从中提取该JSON字符串。 我在这里使用GSON-

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

我试图使用Map反序列化,但是结果却在数据中这样

{description=DescA, process_running=sf, hosts={dc1=[machineA, machineB]}}

有什么办法可以提取JSON格式的hosts

我想到的最简单的方法是使用gson从地图中创建一棵json元素树,并要求它仅提供hosts节点:

    Map<String, Object> data = gson.fromJson(ss, Map.class); // parse

    JsonObject jsonTree = (JsonObject) gson.toJsonTree(data);
    String hostsJson = jsonTree.get("hosts").toString();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM