PostgreSql中解析JSON字段和解析TEXT中的JSON字段

初始化操作

创建表

csharp 复制代码
CREATE TABLE orders (  "ID" int8 NOT NULL,
                       "info_j" json NOT NULL,
                       "info_t" text NOT NULL
);

初始化表

csharp 复制代码
INSERT INTO orders("ID", "info_j","info_t") VALUES (1, '{"name":"张三","items":{"product":"啤酒","qty":6}}','{"name":"张三","items":{"product":"啤酒","qty":6}}');
INSERT INTO orders("ID", "info_j","info_t") VALUES (2, '{"name":"李四","items":{"product":"辣条","qty":8}}','{"name":"李四","items":{"product":"辣条","qty":8}}');
INSERT INTO orders("ID", "info_j","info_t") VALUES (3, '{"name":"王五","items":{"product":"苹果","qty":18}}','{"name":"王五","items":{"product":"苹果","qty":18}}');
INSERT INTO orders("ID", "info_j","info_t") VALUES (4, '{"name":"赵一","items":{"product":"香蕉","qty":20}}','{"name":"赵一","items":{"product":"香蕉","qty":20}}');

查询表

解析JSON字段

查询使用->操作符,查询json中所有顾客作为键

csharp 复制代码
SELECT info_j -> 'name' AS customer FROM orders;

下面使用->>操作获取所有顾客姓名作为值

csharp 复制代码
SELECT info_j ->> 'name' AS customer FROM orders;

根据json对象的key查询值

csharp 复制代码
SELECT info_j -> 'items' ->> 'product' AS customer FROM orders;

解析TEXT中的JSON字段

其实和解析JSON字段一样我们只需要加上::json


相关推荐
李昊哲小课21 小时前
Python json模块完整教程
开发语言·python·json
QWQ___qwq21 小时前
Spring Security + MyBatis-Plus 实现自定义数据库用户认证
数据库·spring·mybatis
Filotimo_1 天前
Java后端开发标准流程:从数据库到接口的完整实现
数据库·oracle
泯仲1 天前
从零起步学习MySQL 第一章:初识MySQL及深入理解内部数据类型
数据库·mysql
有想法的py工程师1 天前
PostgreSQL 触发器性能评估实战(pg_stat_user_functions)
数据库·postgresql
江湖有缘1 天前
本地化JSON 处理新方案:基于 Docker的JSON Hero部署全记录
java·docker·json
御坂10101号1 天前
「2>&1」是什么意思?半个世纪的 Unix 谜题
java·数据库·bash·unix
韩立学长1 天前
基于Springboot校园志愿者服务平台77pz7812(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
代码雕刻家1 天前
MySQL和SQL Server注意事项
数据库·mysql
代码探秘者1 天前
【Redis】分布式锁深度解析:实现、可重入、主从一致性与强一致方案
java·数据库·redis·分布式·缓存·面试