Wie geben Sie JSON mit niedrigerem Gehäuse von einem CFC in ColdFusion zurück?

8

Ich habe eine ColdFusion-Komponente, die einige JSON-Daten zurückgibt:

%Vor%

Leider enthält der zurückgegebene JSON alle Eigenschaftsnamen in Großbuchstaben:

%Vor%

Gibt es eine Möglichkeit, das Framework zu zwingen, JSON zurückzugeben, so dass die Eigenschaftsnamen alle klein geschrieben sind (vielleicht eine benutzerdefinierte UDF / CFC, die jemand anders geschrieben hat)?

    
Daniel T. 10.09.2011, 00:58
quelle

3 Antworten

5
  

Von Ссылка
  Hinweis: ColdFusion stellt intern Strukturschlüsselnamen dar   Großbuchstaben und serialisiert daher die Schlüsselnamen   JSON-Darstellungen in Großbuchstaben. Jegliches JavaScript, das JSON verarbeitet   Darstellungen von ColdFusion-Strukturen müssen nur in Großbuchstaben verwendet werden   Struktur Schlüsselnamen wie CITY oder STATE. Sie verwenden auch die   Großbuchstaben nennt COLUMNS und DATA als Schlüssel für die beiden Arrays   das sind ColdFusion-Abfragen im JSON-Format.

Wenn Sie die Variablen selbst definieren, können Sie Klammernotation verwenden (wie Jason's Antwort zeigt), aber mit eingebauten Sachen wie ORM, glaube ich, dass Sie feststecken - es sei denn, Sie möchten Ihre eigene Struktur erstellen und klonen die ORM-Version manuell, jeden Schlüssel im Gehäuse unten, aber das ist nicht wirklich eine großartige Lösung. : /

    
Peter Boughton 10.09.2011, 01:17
quelle
17

Ja, leider funktioniert das nur so, wie ColdFusion funktioniert. Wenn Sie einige Variablen setzen, können Sie Kleinbuchstaben wie bei Strukturen erzwingen:

%Vor%

Legt eine Variable mit Großbuchstaben fest. Aber:

%Vor%

Erzwingt den Kleinbuchstaben (oder Camelcase abhängig von dem, was Sie übergeben).

Aber mit den ORM-Sachen, die du tust, glaube ich nicht, dass du in der Lage sein wirst, Kontrolle darüber zu haben. Jemand korrigiert mich, wenn ich falsch liege.

    
Jason Dean 10.09.2011 01:09
quelle
0

Dies sollte wie beschrieben funktionieren.

%Vor%

Wenn eine Ihrer Entitätseigenschaften null zurückgibt, ist der Strukturschlüssel nicht vorhanden. Um dieses Problem zu umgehen, versuchen Sie dies

%Vor%     
Mike Causer 20.11.2011 13:47
quelle