原始数据
JSON 创建函数
1.row_to_json
文档描述
函数 | 描述 | 例子 | 例子结果 |
---|---|---|---|
row_to_json(record [, pretty_bool]) | 把行作为一个 JSON 对象返回。如果pretty_bool为真, 将在第1层元素之间增加换行。 | row_to_json(row(1,‘foo’)) | {“f1”:1,“f2”:“foo”} |
示例
SELECT row_to_json(e) FROM (SELECT * FROM "Students" WHERE "Id"=2) e
JSON 处理
1.json_array_length
文档描述
函数 | 返回值 | 描述 | 例子 | 例子结果 |
---|---|---|---|---|
jsonb_array_length(jsonb) jsonb_array_length(jsonb) | int | 返回最外层 JSON 数组中的元素数量 | json_array_length(’[1,2,3,{“f1”:1,“f2”:[5,6]},4]’) | 5 |
示例
-- 这里使用 row_to_json(e)->'Course' 是为了将这行数据转为json格式,方便操作Course列
SELECT "Id","Name","Age","Class","Course",json_array_length(row_to_json(e)->'Course') FROM (SELECT * FROM "Students" WHERE "Id"=2) e
官方文档:PostgreSQL数组函数和操作符