簡體   English   中英

如何從HashMap獲取特定的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM