繁体   English   中英

如何从json中提取所有变量名?

[英]How to extract all variable names from json?

我需要一个来自 JSON 的变量名数组。 例如,如果我收到

{
  "Java": 20526,
  "Shell": 292,
  "Groovy": 213
}

我想把它映射到

String[] {"Java", "Shell", "Groovy"}

我怎样才能有效地做到这一点? 我可以使用杰克逊吗?

您可以使用Jackson解析为HashMap<String, Object> ,然后获取 HashMap 的键(当然,如果您打算获取第一级的所有键)。

要从所有级别获取键,您可以创建一个递归函数,当键的值是另一个HashMap您再次提取它。

将 json 转换为 map 并获取密钥。 下面是代码。 我使用过 GSON 库。

String json = "{\"Java\": 20526,\"Shell\": 292,\"Groovy\": 213}";
Map map = new Gson().fromJson(json, new TypeToken<Map<String, Integer>>() {
        }.getType());
System.out.println(map.keySet());

使用 Gson 2.8.6 的单线:

String json = "{\"Java\":20526,\"Shell\":292,\"Groovy\":213}";
String[] keys = JsonParser.parseString(json).getAsJsonObject().keySet().toArray(new String[0]);

将 JSON 字符串解析为JsonObject ,获取键集并将其转换为数组。

暂无
暂无

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

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