如何在psql中通过PostgreSQL查询获取美观打印的JSON?
在psql中格式化打印存储为字符串的JSON数据(无需外部工具)
当然可以,PostgreSQL自带的函数和psql客户端配置就能实现,不需要外部程序,具体方法如下:
方法1:使用json_pretty()函数直接格式化
因为你的JSON是以普通字符串存储的,首先需要把字符串转换为JSON类型,再用json_pretty()函数生成美观的格式化输出。假设你的表名为target_table,存储JSON字符串的字段为json_content,查询语句如下:
SELECT json_pretty(json_content::json) FROM target_table;
json_content::json:将字符串类型的字段强制转换为JSON类型(如果字符串不是合法JSON会报错,需确保数据格式有效)json_pretty():PostgreSQL内置函数,会将JSON数据以带缩进、换行的结构化格式输出
方法2:配置psql客户端自动格式化JSON
如果需要长期默认显示格式化后的JSON,可以在psql中设置客户端参数jsonPretty:
\set jsonPretty on
设置完成后,只要查询时将字符串转换为JSON类型,psql就会自动帮你格式化显示:
SELECT json_content::json FROM target_table;
这个配置仅对当前psql会话生效,如果需要永久生效,可以把\set jsonPretty on添加到你的~/.psqlrc文件中。
内容的提问来源于stack exchange,提问作者msouth
相关产品推荐
相关产品推荐

