json-schema-php

授权协议 GPL
开发语言 PHP
所属分类 Web应用开发、 JSON/BSON开发包
软件类型 开源软件
地区 国产
投 递 者 华善
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

JSON Schema 用于描述JSON数据的结构和类型。如同DTD与XML的关系。

本实现用于使用 PHP 调用 JSON Schema 对 JSON 数据进行验证。

生成 JSON Schema

由JSON生成一个全格式的Schema,方便编辑修改(勿随便直接使用在实践中)。

$value = new stdClass();
$value->name = 'a name';
$value->age = 23;
$value->height = 183.5;
$jsonSchema = new JsonSchema(json_encode($value));
echo $jsonSchema->getSchema();

结果(真实结果格式化后)

{
   "type":"object",
   "properties":{
      "name":{
         "type":"string",
         "format":"regex",
         "pattern":"\/^[a-z0-9]+$\/i",
         "minLength":0,
         "maxLength":2147483647
      },
      "age":{
         "type":"integer",
         "default":0,
         "minimum":0,
         "maximum":2147483647,
         "exclusiveMinimum":0,
         "exclusiveMaximum":2147483647
      },
      "height":{
         "type":"number",
         "default":0,
         "minimum":0,
         "maximum":2147483647,
         "exclusiveMinimum":0,
         "exclusiveMaximum":2147483647
      }
   }
}

 

使用 JSON Schema 验证 JSON

$userType = '
     {
        "id": "user",
        "description": "user info",
        "type": "object",
        "properties": {
            "account": {"type": "string"},
            "email": {"type": "string", "required": true},
            "noexist": {"type": "string", "required": false}
        }
    }';

$type = array();
$type['users'][] = array('account' => 'userA', 'email' => 'userA@example.com');
$type['users'][] = array('account' => 'userB', 'email' => 'userB@example.com');
$type['users'][] = array('account' => 'userC', 'email' => 'userC@example.com');
$jsonSchema = new JsonSchema(json_encode($type));
$jsonSchema->addTypes($userType);

$jsonSchema->validate('
    {
       "type":"object",
       "properties":{
          "users":{
             "type":"array",
             "items":{
                "$ref":"user"
             }
          }
       }
    }');
  • 软件简介 JSON Schema 用于描述JSON数据的结构和类型。如同DTD与XML的关系。 本实现用于使用 PHP 调用 JSON Schema 对 JSON 数据进行验证。 生成 JSON Schema 由JSON生成一个全格式的Schema,方便编辑修改(勿随便直接使用在实践中)。 $value = new stdClass(); $value->name = 'a name'; $val

  • php使用json-schema模块实现json校验示例,jsonschema 本文实例讲述了php使用json-schema模块实现json校验。分享给大家供大家参考,具体如下: 客户端和服务端的http信息传递,采用json几乎成了标配。json格式简单,易于处理,不过由于没有格式规定,无法校验。 好在php有json-schema模块,可以用来验证json是否符合规定的格式。 安装使用com

  • 客户端和服务端的http信息传递,采用json几乎成了标配。json格式简单,易于处理,不过由于没有格式规定,无法校验。 好在php有json-schema模块,可以用来验证json是否符合规定的格式。 安装使用composer composer require justinrainbow/json-schema:~1.3 新建一个schema文件,如:schema.json { "type":

  • 基于json-schema规范进行数据校验。 一、php实现校验 php校验类库: 代码简洁,短小精悍,容易扩展。执行时间在2微秒左右 使用比较多,功能强大。不过执行时间在9微秒左右。 根据自己需要选择使用。 以上类库引入可以使用composer管理,主要包括以下三部分。 1、composer安装 #下载composer可执行文件 php -r"copy('https://getcomposer.

  • json schema json编辑器 (json-editor) Edit JSON in UI form with JSON Schema and Vue.js json-editor component. 使用JSON Schema和Vue.js json-editor组件以UI形式编辑JSON。 安装 (Install) npm install vue-json-ui-editor --s

  • 工作中经常会开发一些接口公布出去,接口以HTTPHandler方式挂载在ASP.NET上,是以*.filetype的后缀形式路由到具体的处理类中。接口参数以JSON格式通过post方法写在Request body中,宿主的ERP系统并没有提供对应的参数校验框架,因此无法像其他基于其他API框架的形式,对输入参数进行统一的校验。 本文针对这种情况,将介绍下JSON.NET自带的JSON Schema

  • What is JSON Patch? JSON Patch is a format for describing changes to aJSONdocument. It can be used to avoid sending a whole document when only a part has changed. When used in combination with theHTTP

  • 在编辑映射中,默认映射的链接为 https://raw.githubusercontent.com/composer/composer/main/res/composer-schema.json 因为国内神奇网络原因,时不时会出现警告⚠️,这里可以手动修改映射: name 设置为 composer.json URL 设置为 https://gitcode.net/mirrors/composer/

  • 最近笔者在工作中需要监控一批http接口,并对返回的JSON数据进行校验。正好之前在某前端大神的分享中得知这个神器的存在,调研一番之后应用在该项目中,并取得了不错的效果,特地在此分享给各位读者。<br style="box-sizing: border-box;"/> 什么是JSON Schema? JSON Schema是一组特殊的JSON词汇,用来标记和校验JSON数据,也可以理解为一

  • 一.python中jsonschma库 python中有时候我们想对json数据进行键值对(key,value)数据的数据格式进行校验,因为数据类型不符合业务逻辑会导致业务逻辑代码执行报错,这时候我们可以对传入的json数据格式定义一个schema,定义数据模式,然后通过schema对data进行校验,python中我们进行进行如下校验: # _*_ coding: utf-8 _*_ # !/u

  •  JSON模式是基于JSON格式定义JSON数据结构的规范。它被写在IETF草案,于2011年到期。 JSON模式: 描述现有的数据格式 干净的人类和机器可读的文档 完成结构验证,可用于自动化测试 完成结构验证,验证客户端提交的数据 JSON模式验证库 有几个验证器目前可用于不同的编程语言。目前最完整和最兼容的JSON模式验证可用JSV 语言 程序库 C WJElement (LGPLv3)

  • 问题 composer install 报错 [Composer\Json\JsonValidationException] "./composer.json" does not match the expected JSON schema:

 相关资料
  • 主要内容:什么是 JSON Schema,定义 Schema,使用 JSON Schema 进行验证JSON Schema 是一个描述和验证 JSON 数据结构的强大工具,我们可以把 JSON Schema 看作是一种规范,这个规范中规定了 JSON 数据的结构、键的命名、值的类型等等,通过规范可以校验指定的 JSON 数据,保证数据的准确。所以在接口调试过程中,经常使用 JSON Schema 来校验接口数据的准确性。 什么是 JSON Schema JSON Schema 译为“JSON模式

  • json-schema-editor An intuitive editor for JSON schema which provides a tree view to present structure of schema and a property inspector to edit the properties of schema element.Develop with Vue.js 2

  • Confluent5.5.0不仅理解Avro模式,还理解json-schema和Protobuf。我有一个有效的json-schema,我正试图将其转换到schema registry服务器,但我一直得到响应 手册不清楚如何使用参数。我尝试过作为查询参数,作为json中的字段,...我发布的是一个json,其中有一个名为的顶级字段,它包含一个引用转义的json-schema。同样的机制对于Avro

  • 问题内容: 我有的: 我正在从pojo生成JSON模式。我的生成架构的代码如下所示: 我通过上面的代码生成了几个模式。其中一个pojos具有内部嵌入式枚举,以限制可能的值,如下所示: 上面的代码应将传递给“星期一”,“星期二”,“星期三”等的JSON数据中可能的String值限制。 当我在有问题的代码上运行模式生成器时,我希望得到类似以下模式的内容: 但是相反,我得到这个: 我在Jackson模式

  • 问题内容: 我试图通过构建验证两种不同对象类型的架构来弄清oneOf的工作原理。例如,一个人(名字,姓氏,运动)和车辆(类型,费用)。 以下是一些示例对象: 问题是我做错了什么以及如何解决。这是模式: 当我尝试在此解析器中验证它时: 我收到以下错误: 问题答案: 试试这个:

  • 合流模式注册表当前支持json模式。spring kafka是否支持json模式? 使用此配置,带有spring kafka的Avro运行良好 但如何配置spring kafka以使用json模式汇合模式注册表?