![](/img/trans.png)
[英]Java: How to extract the largest name from multiple folders kept at a path into a variable where folder names are all numeric?
[英]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.