Как запретить 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

27
задан lini sax 20 July 2012 в 20:08
поделиться