![](/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.