簡體   English   中英

將JSON字符串轉換為Java對象或HashMap

[英]Convert JSON String to Java Object or HashMap

我正在寫一個Android應用程序。 我想在意圖/活動中傳遞一些數據,我覺得在這一點上,往返JSON的轉換可能是更優化的方式。 我能夠使用JSONObject支持成功地將java hashmap轉換為json字符串。

但是我需要將此JSON字符串轉換回java對象或hashmap。 什么是最好的方法。

可以包容真的是一個值得做的改變; 如果我有簡單的5場對象? 在意圖之間傳輸數據的其他方法有哪些。

干杯

我建議選擇Gson 它對泛型和完整的Javabeans提供了出色的支持,並且真正簡化了轉換任務。 這個答案 ,你可以找到一個例子,一個轉換Map<String, String>到JSON,反之亦然,並在此答案的另一個例子,一個JSON字符串轉換為fullworthy的Javabean(從JavaBean來JSON是非常簡單gson.toJson(bean)

傳輸數據的其他方法是XML和序列化,兩者都比JSON有更多的開銷。

為什么不使用Bundle作為Map 它可以很容易地置於Intent ,基本上是一個美化的類型安全的HashMap

如果你仍然需要使用JSON我會推薦傑克遜 與Java對象(包括Maps )之間的轉換簡單快捷(比GSON更快)

您可以使用Intent傳遞Serializable ,不需要JSON。

如果你有數字數據,JSON是一個特別糟糕的選擇...它會破壞任何不能表示為double(甚至是一些雙值)的東西。 除了你必須與JavaScript通信的地方,你應該避免使用JSON。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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