簡體   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