Android toString()在2.2中给出的结果与在2.1中给出的结果不同(.Net Date格式)

Android toString()在2.2中给出的结果与在2.1中给出的结果不同(.Net Date格式),android,json,serialization,android-2.2-froyo,android-2.1-eclair,Android,Json,Serialization,Android 2.2 Froyo,Android 2.1 Eclair,在安卓2.1中,这个 JSONObject o = new JSONObject(); o.put("MyDate", "/Date(1289334937639)/"); Log.d(TAG, o.toString()); 产生 {"MyDate":"/Date(1289334937639)/"} 但在2.2中,它产生了 {"MyDate":"\/Date(1289334937639)\/"} 我正在与一个.NETWeb服务交谈,因此2.2版本对我来说是正确的。如何使2.1在不破坏2.2的

在安卓2.1中,这个

JSONObject o = new JSONObject();
o.put("MyDate", "/Date(1289334937639)/");
Log.d(TAG, o.toString());
产生

{"MyDate":"/Date(1289334937639)/"}
但在2.2中,它产生了

{"MyDate":"\/Date(1289334937639)\/"}
我正在与一个.NETWeb服务交谈,因此2.2版本对我来说是正确的。如何使2.1在不破坏2.2的情况下生产相同的产品


感谢您的帮助。

http://www.json.org/java/
并将其集成到您的代码中。我想您只需要更改导入内容。

我最后得出以下结论:

if (Build.VERSION.SDK_INT == 7) {
    params = params.replaceAll("/", "\\\\/");
}

其中params是已经转换为字符串的json。很难看,但很管用。

谢谢你的建议。我想我在eclipse中有最新的json版本,但它看起来像是2.1模拟器(我在运行2.1的motorola droid上确认了这一点)使用了与2.2模拟器不同的版本。也就是说,根据android版本的不同,相同的代码(相同的导入)会产生两种不同的结果。我可以强制仿真器/设备使用我希望它使用的json版本吗?