如何防止Gson将长数字(json字符串)转换为科学记数法格式?
我需要将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