Search Postgresql Archives

Re: a bug jsonb?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If I understand well your question, this is expected with JSONB.

see https://www.postgresql.org/docs/current/datatype-json.html for more info:

...jsonb does not preserve white space, does not preserve the order of object keys, and does not keep duplicate object keys. If duplicate keys are specified in the input, only the last value is kept...

čt 22. 11. 2018 v 15:59 odesílatel Станислав Губанов <gubanovss@xxxxxxxxx> napsal:
Hello!

I'd like to clarify, if this a bug or a feature

simple JSON 
{"rootC":{},"rootB":{},"rootZ":{},"rootA":[]}

Table for data
create table test_json (json_data jsonb); 

put json into table 
INSERT INTO test_json (json_data) VALUES ('{"rootC":{},"rootB":{},"rootZ":{},"rootA":[]}');

order of key in json is changed in such query:
SELECT json_data FROM test_json;
expected result: {"rootC":{},"rootB":{},"rootZ":{},"rootA":[]}
actual result: {"rootA": [], "rootB": {}, "rootC": {}, "rootZ": {}}

----- console log ----- 
test=# create table test_json (json_data jsonb);
CREATE TABLE
test=# INSERT INTO test_json (json_data) VALUES ('{"rootC":{},"rootB":{},"rootZ":{},"rootA":[]}');
INSERT 0 1
test=# select json_data from test_json;
                      json_data
------------------------------------------------------
 {"rootA": [], "rootB": {}, "rootC": {}, "rootZ": {}}
(1 row)

test=# drop table test_json;
DROP TABLE

--
Sincerely, Stanislav!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux