Re: Delete values from JSON
| От | Andreas Joseph Krogh |
|---|---|
| Тема | Re: Delete values from JSON |
| Дата | |
| Msg-id | VisenaEmail.f3e.9067714e9a88e6ff.186ef3cc0df@origo01.app.internal.visena.net обсуждение исходный текст |
| Ответ на | Re: Delete values from JSON (Romain MAZIÈRE <romain.maziere@sigmaz-consilium.fr>) |
| Список | pgsql-general |
Hi,
If it is jsonb type, you can have a look at the documentation : https://www.postgresql.org/docs/14/functions-json.html
There are some examples :
jsonb-text→jsonbDeletes a key (and its value) from a JSON object, or matching string value(s) from a JSON array.
'{"a": "b", "c": "d"}'::jsonb - 'a'→{"c": "d"}
'["a", "b", "c", "b"]'::jsonb - 'b'→["a", "c"]
jsonb-text[]→jsonbDeletes all matching keys or array elements from the left operand.
'{"a": "b", "c": "d"}'::jsonb - '{a,c}'::text[]→{}
jsonb-integer→jsonbDeletes the array element with specified index (negative integers count from the end). Throws an error if JSON value is not an array.
'["a", "b"]'::jsonb - 1→["a"]
jsonb#-text[]→jsonbDeletes the field or array element at the specified path, where path elements can be either field keys or array indexes.
'["a", {"b":1}]'::jsonb #- '{1,b}'→["a", {}]Regards
I have looked at the docs, but it doesn't, AFAIU, show how to conditionally delete a key based on its value, and leave other keys in the JSONB not matching the value alone.
I want to delete all keys in the (pseudo) path details.keyInformation[*].dunsNumber if the value is "NaN".
Вложения
В списке pgsql-general по дате отправления:
