Converting JSONObject to HashMap<>

Today, I had a huge Json in my app and I wanted to fetch all these values in a general way. I also wanted to parse Json for only one time to avoid try/catch each time I access any value. So, first thing I had in mind was to convert the JSONObject in the HashMap or Map<> etc.



So if you are using Gson in your apps for json mapping, then you can use this one line code for conversion.

Map<String, Object> mapObj = new Gson().fromJson(
  myJsonObjectString, new TypeToken<HashMap<String, Object>>() {}.getType()
);

This will give you a Map object and you can access the values using this code.

String strValue = (String) mapObj.get(myJsonKey);
String contains = mapObj.containsKey(myJsonKey);

References

https://stackoverflow.com/questions/21720759/convert-a-json-string-to-a-hashmap


If you liked this article, you can read my new articles below:


Wajahat Karim is Pakistan’s first Google Developer Expert in Android. As an experience Android developer, he deeply cares about it and keeps writing and speaking about it. He has written two worldwide 300+ pages books on Android development with more than 100 articles around the internet either on his website or his Medium publications. He is also a passionate contributor in open source and has created many Android libraries used by thousands of developers in their apps worldwide. As active public speaker, he spends lots of time giving talks in conferences and motivating people on Android development. You can find Wajahat most active on Twitter @WajahatKarim where he regularly shares all the good stuff about Android and community building.

Author's picture

Wajahat Karim

🔥 Google Dev Expert (GDE) in Android .
📱 Android Dev. 💻 Open Source Contributor . 📝 Technical Writer . 🎤 Public Speaker

Senior Android Developer

Karachi, Pakistan