测试代码段如下所示
Map<String, Object> jsonMap = new HashMap<String, Object>();
ArrayList<Long> list = new ArrayList<Long>();
list.add(1L);
list.add(2L);
jsonMap.put("list", list);
JSONObject json = new JSONObject(jsonMap);
JSONArray ja = new JSONArray(list);
try {
json.put("JSONArray", ja);
} catch (JSONException e) {
e.printStackTrace();
}
if (json != null) {
System.out.println(json.toString());
return;
}
Genymotion的输出
{"JSONArray":[1,2],"list":"[1, 2]"}
使用ADT模拟器或我的nexus 4手机
{"JSONArray":[1,2],"list":[1,2]}
会发生什么?
答案 0 :(得分:2)
我终于在4.1.1 Genymotion设备上再现了你的问题,但也在4.1.1真实的物理设备上再现了你的问题,如下图所示:(三星galaxy s2运行cyanogen)。
所以,我会称这种行为为Genymotion功能。 ;) 您将在4.1.2 ADT仿真器上看到相同的行为。
您可能在Android版本之间遇到差异。你必须处理这两种情况才能保证安全。