Java 旧版本android中的JSON解码问题
我面临着非常棘手的问题,在android中,我有一个这种类型的hashmap对象:Java 旧版本android中的JSON解码问题,java,android,json,Java,Android,Json,我面临着非常棘手的问题,在android中,我有一个这种类型的hashmap对象: HashMap<String, ArrayList<String>> cart = null; 但是,在4.3之前的旧版本中,它只是以这种格式发送上述对象: {"26":"[Test, 1465.0, 0.0, 2]","5":"[Chiken Tanduri, 599.0, 0.0, 3]"} 正如我们在第二种格式中看到的那样,hashmap对象值完全编码为字符串,,不应该是这种情
HashMap<String, ArrayList<String>> cart = null;
但是,在4.3之前的旧版本中,它只是以这种格式发送上述对象:
{"26":"[Test, 1465.0, 0.0, 2]","5":"[Chiken Tanduri, 599.0, 0.0, 3]"}
正如我们在第二种格式中看到的那样,hashmap对象值完全编码为字符串,,不应该是这种情况
为了将这个对象发送到服务器,我只是将其强制转换为JSONObject并将其字符串化以发送到服务器
String.valueOf(new JSONObject(cart))
有人能告诉我,我在上面的代码中做错了什么
任何帮助都将不胜感激
谢谢大家! 试着用这个代替-
(new JSONObject(cart)).toString();
问题是Map的构造函数只存在于API19之后,因此在此之前,Map是作为对象添加的 您需要迭代映射的每个元素来创建JSON 当然,您可以使用外部库,但也可以简单地使用UtilClass进行转换。对于转换,有这样的解决方案
您使用的是哪个JSON库?您需要迭代地图,旧版本似乎无法管理地图,因此将其作为对象读取,因此所有内容都设置为字符串。
(new JSONObject(cart)).toString();