Wenn ich Gson verwenden, um ein Objekt zu serialisieren, die nahe einem Doppel Wert enthält es wird auf Null die wissenschaftliche E-Notation:ausschalten wissenschaftliche Schreibweise in Gson Doppel Serialisierung
{"doublevaule":5.6E-4}
Wie kann ich sagen, Gson zu erzeugen
{"doublevaule":0.00056}
statt? Ich kann einen benutzerdefinierten JsonSerializer implementieren, aber es gibt ein JsonElement zurück. Ich müsste ein JsonPrimitive zurückgeben, das ein Double enthält, das keine Kontrolle darüber hat, wie das serialisiert wird.
Danke!
Warum das ein Problem ist? Die wissenschaftliche Notation ist in JSON gültig, und alles, was JSON behandelt, sollte in der Lage sein, das korrekt zu analysieren (auf genau den gleichen Wert, als ob die wissenschaftliche Notation nicht verwendet würde). –
Ich streite damit nicht, du hast recht Joachim. Trotzdem möchte ich, dass mein JSON keine wissenschaftlichen Notationen enthält. Ist das mit GSon machbar? – konstantin
Ich habe genau das gleiche Problem, einfach aufgrund der Tatsache, dass ich einen gebrochenen JSON-Consumer habe, der nicht mit Exponenten umgehen kann. Mir ist klar, dass die * echte * Lösung darin besteht, den Verbraucher zu sortieren, aber manchmal liegt das außerhalb unserer Kontrolle. Daher denke ich, dass dies eine vernünftige (wenn nicht ungewöhnliche) Anforderung ist –