Re: Delete values from JSON

From: Romain MAZIÈRE <romain(dot)maziere(at)sigmaz-consilium(dot)fr>
To: Andreas Joseph Krogh <andreas(at)visena(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Delete values from JSON
Date: 2023-03-17 10:56:22
Message-ID: f75f4e31-e9e0-d765-503a-f0da42e87d57@sigmaz-consilium.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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| → |jsonb|

Deletes 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[]| → |jsonb|

Deletes all matching keys or array elements from the left operand.

|'{"a": "b", "c": "d"}'::jsonb - '{a,c}'::text[]| → |{}|

|jsonb| |-| |integer| → |jsonb|

Deletes 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[]| → |jsonb|

Deletes 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

Romain MAZIÈRE
romain(dot)maziere(at)sigmaz-consilium(dot)fr
+33.535.545.085
+33.781.46.36.96
https://sigmaz-consilium.fr

Le 17/03/2023 à 08:56, Andreas Joseph Krogh a écrit :
>
> Hi, in PG-14, how do I delete the keys |"dunsNumber": "NaN"|:
>
> |{ "sessionId": "ce6fc9d0-5923-4d71-9f7e-ae60f35c45d6", "details": [ {
> "keyInformation": { "dunsNumber": "NaN", "organizationType":
> "LIMITED_COMPANY" } }, { "keyInformation": { "dunsNumber": "123",
> "organizationType": "LIMITED_COMPANY" } } ], "nisse": 123 }|
>
> So that the result becomes:
>
> |{ "sessionId": "ce6fc9d0-5923-4d71-9f7e-ae60f35c45d6", "details": [ {
> "keyInformation": { "organizationType": "LIMITED_COMPANY" } }, {
> "keyInformation": { "dunsNumber": "123", "organizationType":
> "LIMITED_COMPANY" } } ], "nisse": 123 }|
>
> Thanks.
>
> --
> *Andreas Joseph Krogh*
> CTO / Partner - Visena AS
> Mobile: +47 909 56 963
> andreas(at)visena(dot)com
> www.visena.com <https://www.visena.com>
> <https://www.visena.com>

Attachment Content-Type Size
OpenPGP_0x97C05C89DEC4129F.asc application/pgp-keys 3.1 KB

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Wim Bertels 2023-03-17 11:04:42 Re: nested xml/json to table
Previous Message Thomas Munro 2023-03-17 10:26:23 Re: src/test/examples/testlibpq2.c where the HAVE_SYS_SELECT_H is defined.