Ich habe eine Methode in meinem Grails-Controller, die ein JSON zurückgeben soll, eine Eigenschaft des JSON ist ein Date-Objekt, aber wenn ich das tue:
%Vor%Die Ausgabe ist wie folgt:
%Vor%Gibt es eine Möglichkeit, das vom Konverter verwendete Standard-Datumsformat zu ändern?
Ich habe versucht, die Eigenschaft grails.converters.json.date
und auch grails.date.formats
in Config.groovy zu setzen, aber das funktioniert nicht.
Mache ich etwas falsch oder gibt es einen anderen Weg, es zu tun?
Danke
Ich benutze in der Regel einen benutzerdefinierten Marshaller. Angenommen, Sie haben folgende Domain
%Vor%Erstellen Sie eine Klasse unter src / groovy wie folgt
%Vor%Dann in Ihrer Bootstrap-Datei machen Sie folgendes:
%Vor%Der Grund, warum ich das als Array mache, ist, dass ich mehrere Marshaller habe.
Wenn Sie nun address as JSON
verwenden, erhalten Sie den von Ihnen beschriebenen JSON und das korrekte Datumsformat. Ich weiß, das scheint ein Overkill für das Formatieren eines Datums in JSON zu sein, aber das hat viele andere Vorteile.
Wenn Sie einen Standard-JSON-Marshaller für alle Datentypen möchten, können Sie auch etwas sehr einfaches verwenden, wie in diese SO-Antwort . @ Greggs Antwort ist viel flexibler für einzelne Domain-Klassen.