Ich möchte die Zeilen eines Datensatzes in JSON konvertieren, aber keine Null-Einträge enthalten, die am Ende sowieso in JavaScript undefiniert sind. Zum Beispiel nehme ich an den Tisch testdata
mit EinträgenAusschließen von Nullen von row_to_json() Ergebnis in PostgreSQL
id | prop1 (integer) | prop2 (text)
-------------------------------------
1 | 42 | 'Answer'
2 | NULL | 'No prop one'
3 | 0 | NULL
und führen
SELECT row_to_json(testdata) FROM testdata
Was ich ist haben:
{"id":"1","prop1":"42","prop2":"Answer"}
{"id":"2","prop1":null,"prop2":"No prop one"}
{"id":"3","prop1":"0","prop2":null}
Aber stattdessen was ich wollen ist:
{"id":"1","prop1":"42","prop2":"Answer"}
{"id":"2","prop2":"No prop one"}
{"id":"3","prop1":"0"}
Ist das möglich? Nach der JSON functions documentation für PostgreSQL 9.3 gibt es nur eine zusätzliche Option oder Parameter für row_to_json
, aber die Einstellung pretty_bool=true
entfernt nicht die Nullen, so scheint es, als ob die Antwort nein sein könnte. Aber das scheint auch eine sehr offensichtliche und nützliche Funktion zu sein, also hoffe ich, dass jemand anderes etwas gefunden hat, das ich vermisst habe.
Mein Ziel ist es, die Datensätze in JavaScript mit einem GET
Aufruf auf eine PHP-Seite abrufen. Ist es besser, JSON in PHP aus einem Standard-Recordset zu erstellen, anstatt die JSON-Routinen von PostgreSQL zu verwenden?
_aber keine Null-Einträge enthalten, die am Ende in JavaScript sowieso undefiniert werden _ Die Eigenschaft wird null undefined sein. Es wird undefiniert sein, wenn Sie es aus dem Objekt entfernen, wie Sie möchten. –
Ich meinte, ich brauche sie undefiniert zu sein, so dass sie in meiner speziellen JavaScript-Anwendung nicht definiert werden - es ist nur eine Frage, wo entlang der Kette von PostgreSQL über PHP zu JS, dass ich es schaffen kann. Natürlich beeinflusst das meine Frage in keiner Weise ... – Michael
Sind Sie sicher, dass es einen Vorteil hat, wenn die Eigenschaft undefiniert statt null ist? Ich verstehe den Punkt nicht. Fragen Sie es den JS-Experten. –