Мне нужно преобразовать строку 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