【发布时间】:2016-09-24 08:28:51
【问题描述】:
我面临着非常奇怪的问题,在 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))
有人可以指点我,上面的代码做错了什么。
任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
您使用的是哪个 JSON 库?
-
您将需要迭代您的地图,旧版本似乎无法管理地图,因此将其作为对象读取,因此所有内容都设置为字符串。