Re: remove null values from json - Mailing list pgsql-sql

From Pavel Stehule
Subject Re: remove null values from json
Date
Msg-id CAFj8pRCHZmLKiYpGmdbFYeeqK8PQ9u0acQ6W4vU9TshO2J=4wQ@mail.gmail.com
Whole thread Raw
In response to remove null values from json  (Michael Moore <michaeljmoore@gmail.com>)
List pgsql-sql


2016-01-15 21:24 GMT+01:00 Michael Moore <michaeljmoore@gmail.com>:
This is ALMOST what I want:
select json_strip_nulls ('[{ "f1":1 , "f2":null  , "f3":"NULL" , "f4":""  }]');
the result is:
"[{"f1":1,"f3":"NULL","f4":""}]"

As you can see, the "f2" object has been removed. I would also like to remove the f3 and f4 objects. 

I realize I won't be able to use the json_strip_nulls function to do this. I could brute force it by doing "json to array" then looping through the array and picking only the objects I want, and then using the chosen objects to build an new JSON document. 

I suspect there is a more elegant way to accomplish the same objective.
Ideas?

if you generate JSON from zero, then replace "" and "NULL" by NULL before jsonification.

Pavel
 

PS. It would be great to have a json_strip_values (json, array) where array contains the list of values you want removed. 

pgsql-sql by date:

Previous
From: Michael Moore
Date:
Subject: remove null values from json
Next
From: David Ford
Date:
Subject: filtering columns in function