Gson długo tracił dane, gdy analizował łańcuch

Mam reprezentację ciągu jsonów niektórych obiektów klas obiektów

public class SMPBBaseObjectsList {

    public ArrayList<Object> data = new ArrayList<>();
    public Integer count;
    public Integer limitFrom;
    public Integer limitTo;
    public Boolean hasMore;
    public String dataItemsClass;
}

I mam jsona

{"classItem": "smpb.utility.classes.SMPBBaseObjectsList", "dataItemsClass": "smpb.base.classes.SMPBUser", "dataSliceCode": "012013", "data": [{"id": 1374046117510970000, " Nazwa „:„ Test3 ”,„ classItem ”:„ smpb.base.classes.SMPBUser ”,„ dataSliceCode ”:„ 012013 ”}],„ filter ”: {„ orderItems ”: [],„ filterItems ”: []} }

Próbuję przeanalizować ten json i utworzyć obiekt mojej klasy następnym kodem:

 String json = "{\"classItem\":\"smpb.utility.classes.SMPBBaseObjectsList\",\"dataItemsClass\":\"smpb.base.classes.SMPBUser\",\"dataSliceCode\":\"012013\",\"data\":[{\"id\":1374046117510970000,\"Name\":\"Test3\",\"classItem\":\"smpb.base.classes.SMPBUser\",\"dataSliceCode\":\"012013\"}],\"filter\":{\"orderItems\":[],\"filterItems\":[]}}";
        SMPBBaseObjectsList list = new GsonBuilder().create().fromJson(json, SMPBBaseObjectsList.class);
        System.out.println("BEFORE:" + json);
        System.out.println("AFTER: " + list);

Wyjścia systemowe:

PRZED:{"classItem": "smpb.utility.classes.SMPBBaseObjectsList", "dataItemsClass": "smpb.base.classes.SMPBUser", "dataSliceCode": "012013", "data": [{„id”: 1374044905885298000, „Nazwa”: „Test3”, „classItem”: „smpb.base.classes.SMPBUser”, „dataSliceCode”: „012013”}], „filter”: {„orderItems”: [], „filterItems”: [ ]}}

PO: {"classItem": "smpb.utility.classes.SMPBBaseObjectsList", "dataItemsClass": "smpb.base.classes.SMPBUser", "dataSliceCode": "012013", "data": [{"Name": "Test3" ,„id”: 1.374044905885298011E18, "classItem": "smpb.base.classes.SMPBUser", "dataSliceCode": "012013"}], "filter": {"orderItems": [], "filterItems": []}}

Jak widać w Json String mam identyfikator o wartości 1374044905885298000, ale gdy obiekt serializowany z łańcucha otrzymałem 1.374044905885298011E18

I problem polega na tym, że ta reprezentacja Long lost ostatniego zera 0000 i mam Long 1374044905885297920

Czemu? i jak to naprawić?

Dane w Array to mapa String, a to już wszystko w formacie Double Id Double.

Próbuję zarejestrowaćAdapater dla Long lub Double, ale nigdy nie został uruchomiony.

Wersja Gson 2.2.4

AKTUALIZACJA

To nie jest duplikat pytania

Jak uniemożliwić Gsonowi konwersję długiego numeru (ciągu json) do formatu notacji naukowej?

questionAnswers(1)

yourAnswerToTheQuestion