Thread: remove null values from json

remove null values from json

From
Michael Moore
Date:
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?

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

Re: remove null values from json

From
Pavel Stehule
Date:


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.