[英]JSON decode issue in older android version
面臨相當奇怪的問題,在android中,有一個這種類型的hashmap對象:
HashMap<String, ArrayList<String>> cart = null;
這是我的購物車對象,我將我的購物車物品放置在Android設備版本4.4.2及更高版本中,此對象已按照以下格式正確發送到服務器:
{"6":["Veg Biryani","599.0","0.0","1"],"5":["Chiken Tanduri","599.0","0.0","2"]}
但是,在4.3之前的舊版本中,它只是以以下格式發送上述對象:
{"26":"[Test, 1465.0, 0.0, 2]","5":"[Chiken Tanduri, 599.0, 0.0, 3]"}
正如我們在第二種格式中看到的那樣,hashmap對象的值完全編碼為字符串, 事實並非如此 ,
為了將此對象發送到服務器,只需將其強制轉換為JSONObject並將其字符串化后發送到服務器即可。
String.valueOf(new JSONObject(cart))
有人可以指出我,以上代碼在做什么。
任何幫助將不勝感激。
謝謝!
問題在於Map的構造函數僅在API19之后存在,因此在此之前,map被添加為Object。
您需要迭代地圖的每個元素以創建JSON。
您當然可以使用外部庫,但可以僅使用UtilClass進行轉換。 要轉換,有這個解決方案
嘗試使用它代替-
(new JSONObject(cart)).toString();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.