json - Oracle PL/SQL 是否提供了 JSON 模式验证器?

标签 json database validation plsql schema

我可以找到一个由 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/

相关文章:

java - 如何将 JSON 输入从文件更改为 URL

mysql - 验证用户名是否已存在

c# - 单击数据网格行并在文本框中显示其内容

java - 如何从 Hibernate Validator 检索默认验证消息?

javascript - ReCAPTCHA 验证

ruby-on-rails - 获取自定义 attr_accessor 的未定义方法 `validates_presence_of'

javascript - 如何从对象数组中获取属性?

javascript - 在 JSON 文件中搜索。

javascript - 如何限制从 API 接收的数据?

C# 代码无法连接到 Azure SQL 数据库