array_to_json(anyarray [,pretty_bool]) |
json |
Returns the array as JSON. A Postgresql multidimensional array becomes a JSON array of arrays. Line Feeds will be added between dimension 1 elements ifpretty_boolis true. |
array_to_json('{{1,5},{99,100}}'::int[]) |
[[1,5],[99,100]] |
row_to_json(record [,255); padding:0.5ex"> Returns the row as JSON. Line Feeds will be added between level 1 elements ifpretty_boolis true. |
row_to_json(row(1,'foo')) |
{"f1":1,"f2":"foo"} |
to_json(anyelement) |
Returns the value as JSON. If the data type is not built in,and there is a cast from the type tojson,the cast function will be used to perform the conversion. Otherwise,for any value other than a number,a Boolean,or a null value,the text representation will be used,escaped and quoted so that it is legal JSON. |
to_json('Fred said "Hi."'::text) |
"Fred said \"Hi.\"" |
json_array_length(json) |
int |
Returns the number of elements in the outermost JSON array. |
json_array_length('[1,3,{"f1":1,"f2":[5,6]},4]') |
5 |
json_each(json) |
SETOF key text,value json |
Expands the outermost JSON object into a set of key/value pairs. |
select * from json_each('{"a":"foo","b":"bar"}') |
key | value
-----+-------
a | "foo"
b | "bar"
|
json_each_text(from_json json) |
Expands the outermost JSON object into a set of key/value pairs. The returned value will be of type text. |
select * from json_each_text('{"a":"foo",255); padding:0.5ex"> key | value
-----+-------
a | foo
b | bar
|
json_extract_path(from_json json,VARIADIC path_elems text[]) |
Returns JSON object pointed to bypath_elems. |
json_extract_path('{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}','f4') |
{"f5":99,"f6":"foo"} |
json_extract_path_text(from_json json,239); padding:0.5ex"> text |
Returns JSON object pointed to bypath_elems. |
json_extract_path_text('{"f2":{"f3":1},'f4','f6') |
foo |
json_object_keys(json) |
SETOF text |
Returns set of keys in the JSON object. Only the"outer"object will be displayed. |
json_object_keys('{"f1":"abc","f2":{"f3":"a","f4":"b"}}') |
json_object_keys
------------------
f1
f2
|
json_populate_record(base anyelement,from_json json,[,use_json_as_text bool=false] |
anyelement |
Expands the object infrom_jsonto a row whose columns match the record type defined by base. Conversion will be best effort; columns in base with no corresponding key infrom_jsonwill be left null. If a column is specified more than once,the last value is used. |
select * from json_populate_record(null::x,'{"a":1,"b":2}') |
a | b
---+---
1 | 2
|
json_populate_recordset(base anyelement,255); padding:0.5ex"> SETOF anyelement |
Expands the outermost set of objects infrom_jsonto a set whose columns match the record type defined by base. Conversion will be best effort; columns in base with no corresponding key infrom_jsonwill be left null. If a column is specified more than once,255); padding:0.5ex"> select * from json_populate_recordset(null::x,'[{"a":1,"b":2},{"a":3,"b":4}]') |
a | b
---+---
1 | 2
3 | 4
|
json_array_elements(json) |
SETOF json |
Expands a JSON array to a set of JSON elements. |
json_array_elements('[1,true,[2,false]]') |
value
-----------
1
true
[2,false]
|