Upper / lower case keys in JSON objects

From: Mark <nvpostgres(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Upper / lower case keys in JSON objects
Date: 2025-07-25 12:26:16
Message-ID: CAAm-KOuSB+mS=k3LjYLCwpkv64EpWqF8OCA=jzwCofnjyqsgXA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all

Apologies for any unexpected protocol exceptions, I do not post to mailing
lists very often

I have been trying to work with JSON objects and noticed I could not get
the function json_to_record to produce results, unless I had the key values
in lower case, through testing what works.

I completed a search, but could not find any pointer (except for some front
end comments on labels being all upper or all lower case)

Could anybody comment if the postgres standard is to have key labels in
lower case?

Many thanks for any help you can provide

Mark

query:
select * from json_to_record('{"secLvl": 13, "firBal": "somethi", "firLvl":
"C", "thiLvl": "A", "fourLvl": 2}'::json) as x(seclvl int, firbal text,
firlvl text
, thilvl text, fourlvl int);

result:
seclvl | firbal | firlvl | thilvl | fourlvl
--------+--------+--------+--------+---------
| | | |
(1 row)

query:
select * from json_to_record('{"seclvl": 13, "firbal": "somethi", "firlvl":
"C", "thilvl": "A", "fourlvl": 2}'::json) as x(seclvl int, firbal text,
firlvl text
, thilvl text, fourlvl int);

result:
seclvl | firbal | firlvl | thilvl | fourlvl
--------+---------+--------+--------+---------
13 | somethi | C | A | 2
(1 row)

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mark 2025-07-25 12:33:54 Re: Upper / lower case keys in JSON objects
Previous Message JānisE 2025-07-25 10:05:17 Sorting by respecting diacritics/accents