Ich habe eine ID, die auf einem meiner Java-Objekte ziemlich groß ist. Wenn es jackson in JSON konvertiert, sendet es es als eine Zahl herunter (zB {"id": 1000110040000000001}), aber sobald es ein JavaScript-Objekt wird, wird die ID in 100011004000000000000 geändert. Ich lese über dieses Problem hier
Es funktioniert gut, wenn die ID kleiner ist. Mein erster Gedanke ist, Jackson zu zwingen, alle Zahlen in Strings umzuwandeln, aber ich bin auch offen für andere Optionen. Wenn es mir möglich wäre, würde ich Jackson-Annotationen meinen Java-Objekten nicht hinzufügen.
Jackson-Datenbank (mindestens 2.1.3) bietet spezielle ToStringSerializer. Das hat es für mich getan.
%Vor% com.fasterxml.jackson.core:jackson-core:2.5.4
liefert
JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS für ObjectMapper
configuration.
%Vor%Ausgabe: {"a": "1"}
Um die Abhängigkeit einzuschließen:
%Vor%Tags und Links javascript java json jackson