大佬教程收集整理的这篇文章主要介绍了在PostgreSQL命令行psql里格式化输出json字段,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在pgsql的psql命令里直接select输出Json字段是一长串字符,这对阅读非常不友好,查了好久也没查到pgsql有格式化输出Json字段的函数,只好折腾一番。
表结构如下:
pgsql=#\dtest 资料表"pgsql.test" 栏位|型别|修饰词 ------+---------+-------- ID|integer|非空 info|Jsonb|非空 索引: "test_pkey"PRIMARYKEY,btree(ID) "test_info_IDx"gin(info)
SELECT的格式化输出:
pgsql=#selectID,replace( replace( regexp_replace(info::text,',"',concat(',chr(10),chr(9),'"'),'g'),'{',concat('{',chr(9))),'}',concat(chr(10),'}'))asinfofromtest; ID|info ----+--------------------------------------------------------------- 1|{+ |"a":[1,2,3],+ |"b":[4,5,6]+ |} 2|{+ |"a":[7,8,9],+ |"b":[10,11,12]+ |} 3|{+ |"guID":"9c36adc1-7fb5-4d5b-83b4-90356a46061a",+ |"name":"Angelabarton",+ |"Tags":["enim",+ |"aliquip",+ |"qui"],+ |"address":"178Howardplace,Gulf,Washington,702",+ |"company":"Magnafone",+ |"latitude":19.793713,+ |"is_active":true,+ |"longitude":86.513373,+ |"registered":"2009-11-07T08:53:22+08:00"+ |} (3行记录
为了方便今后每次调用,写成函数:
createfunctionformat_Json(text)returnstextas$$ selectreplace(replace(regexp_replace($1,'}'))asJson_s; $$languagesql;
这样看起来就简洁直观多了:
pgsql=#selectID,format_Json(info::text)asinfofromtestwhereID=3; ID|info ----+--------------------------------------------------------------- 3|{+ |"guID":"9c36adc1-7fb5-4d5b-83b4-90356a46061a",+ |"registered":"2009-11-07T08:53:22+08:00"+ |} (1行记录)
以上是大佬教程为你收集整理的在PostgreSQL命令行psql里格式化输出json字段全部内容,希望文章能够帮你解决在PostgreSQL命令行psql里格式化输出json字段所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。