我需要将JSON字符串转换为Java对象,并将其显示为长整型。JSON字符串是一个固定的长整型数组:
{numbers
[ 268627104, 485677888, 506884800 ] }
代码在所有情况下都可以很好地进行转换,除了以0结尾的数字。它会将这些数字转换为科学计数法格式:
public static Object fromJson(HttpResponse response, Class<?> classOf)
throws IOException {
InputStream instream = response.getResponseInputStream();
Object obj = null;
try {
Reader reader = new InputStreamReader(instream, HTTP.UTF_8);
Gson gson = new Gson();
obj = gson.fromJson(reader, classOf);
Logger.d(TAG, "json --> "+gson.toJson(obj));
} catch (UnsupportedEncodingException e) {
Logger.e(TAG, "unsupported encoding", e);
} catch (Exception e) {
Logger.e(TAG, "json parsing error", e);
}
return obj;
}
实际结果为: Java对象: 268627104,485677888,5.068848E+8
注意最后一个数字转换为了科学计数法格式。有人能建议如何解决它或防止它或撤消它吗?我正在使用Gson v1.7.1。
double
的值如何打印呢? - Hot Licks