[英]How to Get a specific string from HashMap
我正在嘗試從HashMap獲取特定值。
我像這樣將JsonObject
轉換為hashMap
:
Map<String, Object> mapObj = new Gson().fromJson(
jsonObject, new TypeToken<HashMap<String, Object>>() {}.getType());
現在一切都很好。
當我嘗試像這樣從mapObj獲取價值時
String strValue = (String) mapObj.get("estimate_time");
它給空
我的傑森是
https://api.myjson.com/bins/16sub7
我真的不知道該怎么辦。
“ estimate_time”不是有效的密鑰。 它包含在鍵“數據”的值內。
如果您美化了json值,則可以更清楚地注意到鍵“ estimate_time”的值包含在鍵“ data”的值內。
要獲取“ estimated_time”的值,您需要訪問鍵“ data”的json值,然后從中訪問鍵“ estimated_time”的值。
我以前從未真正與Gson
過,但是應該遵循以下幾條原則(或者至少可以給您一個解決問題的思路)
Map<String, Object> mapObj = new Gson().fromJson(
jsonObject, new TypeToken<HashMap<String, Object>>() {}.getType());
LinkedTreeMap<String, Object> requiredMapObj = (LinkedTreeMap<String, Object>) mapObj.get("data");
String strValue = (String) requiredMapObj.get("estimate_time");
String numberValueAlone = strValue.replaceAll("[^0-9]", "");
( 參考 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.