簡體   English   中英

較舊的android版本中的JSON解碼問題

[英]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進行轉換。 要轉換,有這個解決方案

https://stackoverflow.com/a/22912023/4391450

嘗試使用它代替-

(new JSONObject(cart)).toString();

暫無
暫無

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

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