色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

google json轉map

老白1年前9瀏覽0評論

在使用Java開發時,有時需要將JSON格式的字符串轉換為Java Map對象,以方便進行后續的操作。而Google提供了一種非常方便的方法來完成這項任務,即使用其提供的json庫來將JSON字符串轉換為Map對象。

String jsonStr = "{\"name\":\"Alice\",\"age\":20}";
Mapmap = new HashMap<>();
JsonObject jsonObject = new JsonParser().parse(jsonStr).getAsJsonObject();
for (Map.Entryentry : jsonObject.entrySet()) {
String key = entry.getKey();
JsonElement value = entry.getValue();
map.put(key, value);
}
System.out.println(map); // {name=Alice, age=20}

以上代碼先通過JsonParser將JSON字符串轉換為JsonObject對象,然后遍歷該對象的每一個entry,在遍歷的過程中將屬性名稱和屬性值存儲在Map對象中,最終輸出轉換后的Map對象。

需要注意的是,如果JSON字符串中的屬性值是一個嵌套的JSON對象,也可以使用以上方法將其轉換為Map對象。代碼如下:

String jsonStr2 = "{\"name\":\"Alice\",\"address\":{\"city\":\"Shanghai\",\"street\":\"Nanjing Rd.\"}}";
Mapmap2 = new HashMap<>();
JsonObject jsonObject2 = new JsonParser().parse(jsonStr2).getAsJsonObject();
for (Map.Entryentry : jsonObject2.entrySet()) {
String key = entry.getKey();
JsonElement value = entry.getValue();
if (value.isJsonObject()) {
MapsubMap = new HashMap<>();
JsonObject subJsonObject = value.getAsJsonObject();
for (Map.EntrysubEntry : subJsonObject.entrySet()) {
String subKey = subEntry.getKey();
JsonElement subValue = subEntry.getValue();
subMap.put(subKey, subValue);
}
map2.put(key, subMap);
} else {
map2.put(key, value);
}
}
System.out.println(map2); // {name=Alice, address={city=Shanghai, street=Nanjing Rd.}}

以上代碼中,在遍歷到嵌套的JSON對象時,首先判斷屬性值是否為JsonObject對象,如果是則再次遍歷該對象的每一個entry,并將其存儲在一個新的Map對象中,隨后將該Map對象作為屬性值存儲在父級Map對象中。最終輸出轉換后的Map對象。

總而言之,使用Google提供的json庫將JSON字符串轉換為Map對象非常方便,并且可以支持嵌套的JSON對象。如果在Java開發中需要進行JSON字符串和Map對象之間的轉換,這種方法會非常有用。