我可以找到一个由 PL/SQL 使用 XML 模式实现的 XML 验证器。是否有类似的方法在 PL/SQL 中使用 JSON 模式来验证 JSON?
XML 验证器- https://oracle-base.com/articles/misc/validate-xml-against-xml-schema-xsd
最佳答案
您可以创建一个带有 JSON 约束列的 JSON 表,并使用它。
CREATE TABLE my_json_table (
id RAW(16) NOT NULL,
json_data CLOB,
CONSTRAINT myjson_headers_pk PRIMARY KEY (id),
CONSTRAINT myjson_json_chk CHECK (json_data IS JSON)
);
CREATE OR REPLACE FUNCTION is_json_valid (p_json IN CLOB)
RETURN BOOLEAN IS
e_invalid EXCEPTION;
PRAGMA EXCEPTION_INIT (e_invalid, -1000);
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO my_json_table (id, json_data)
VALUES (SYS_GUID(), p_json);
ROLLBACK;
RETURN TRUE;
EXCEPTION
WHEN e_invalid THEN
RETURN FALSE;
END;
关于json - Oracle PL/SQL 是否提供了 JSON 模式验证器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59427989/