暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
DM中处理JSON文本的方法
2870
4页
0次
2020-05-18
5墨值下载
DM 中处理 JSON 文本的方法
JSON 是基于纯文本的轻量级数据交换格式, web 应用端有广泛的应用。 DM JSON
数据以字符串类型储存,可以支持对于要存入的 JSON 数据格式的正确检查存储 JSON
数据并提供函数对于 JSON 文本进行查询。下面用几个例子来说明 DM 中操作 JSON
本的方法。
创建 TEST1 表并在 TEST1 表中存储 JSON 文本,INFO 的数据类型需要为字符类型,
可以选择 varcharvarchar2charclob 等作为储存字段的数据类型。
create table TEST1 (INFO varchar(100));
insert into TEST1 values ('{"db_name":"DM","version":8}');
select * from TEST1;
对于储存下来 JSON 数据,DM 提供了函数 json_value json_query 对于 JSON 文本中
的值进行查询。现运用 json_value 函数查询键为 db_name 所对应的值。使用函数 json_value
必须给定两个参数,第一个为查询表中的列名,第二个为查找值的路径表达式。在路径中
array 对象和 object 对象必须以“$”开头。
select json_value(INFO,'$.db_name') from TEST1;
通过查询可以获取到 db_name 所对应的值为“DM。除了如上例中 object 对象外,DM 还可
以存储 array 对象并查询 array 中的值。数组的下标 0 开始,利用“[下标]”的方式可以查找
到对应的值。
create table TEST2 (INFO char(100));
insert into TEST2 values ('["DAMENG",8,true,null]');
select * from TEST2;
select json_value(INFO,'$[0]') from TEST2;
对于需要储存的数据检查其是否 json 文本,可以加入 IS JSON 件进行判断。可以在建
表的过程中加入到检查约束中进行判断,也可以在插入数据时添加条件对于插入的数据进
行筛选。
create table TEST3(ID int,INFO varchar(100) constraint json_check
check (INFO is json));
insert into TEST3 values (1,'{"db_name":"DM","version":8}');
符合 json 数据格式的值会被存储下来,而错误的格式在插入数据时不能满足 IS JSON 的检
查约束,会提示“违反 CHECK 约束[JSON_CHECK]”。
insert into TEST3 values (2,'{"db_name":"DM","version":8,????:!!!!}');
insert into TEST3 values (3,'DAMENG');
如果不添加约,也可以条件中 json 格式数据,如在下面示例们创
TEST4 表,并插入四行数据,其中两行符合 json 数据的合法性。
create table TEST4(ID int,INFO varchar(100));
insert into TEST4 values (1,'{"db_name":"DM","version":8}');
insert into TEST4 values
(2,'{"db_name":"DM","version":8,????:!!!!}');
insert into TEST4 values (3,'DAMENG');
insert into TEST4 values (4,'["DAMENG",8,true,null]');
而在创建 TEST5 表的时候在 where 子句中带上对 json 数据的检查条件,可以仅将符合
of 4
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜