Wie kann ich Jackson zwingen, Zahlen zu schreiben, wenn ich meine Objekte serialisieren will?

9

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.

    
testing123 17.04.2013, 05:36
quelle

2 Antworten

10

Jackson-Datenbank (mindestens 2.1.3) bietet spezielle ToStringSerializer. Das hat es für mich getan.

%Vor%     
testing123 23.09.2013, 19:51
quelle
10

com.fasterxml.jackson.core:jackson-core:2.5.4 liefert JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS für ObjectMapper configuration.

%Vor%
  

Ausgabe: {"a": "1"}

%Vor%

Um die Abhängigkeit einzuschließen:

%Vor%     
user770119 09.03.2016 20:58
quelle

Tags und Links