php - Json Schema - 验证无限递归结构

标签 php json validation jsonschema

我正在尝试使用 php 的“justinrainbow/json-schema”包来验证 json 对象。

这是我尝试验证的 json:

{
"questions": [
     {
        "type": "section",
        "name": "Section one",
        "questions": [
            {
                "type": "section",
                "name": "Subsection 1.1" 
                "questions":[
                    {
                        "type": "section",
                        "name": "Subsection 1.1" 
                        "questions":
                             [
                                 {
                                      ...
                                 }
                             ]
                     }
                 ] 
             }
         ]
     }
 ]

问题属性始终可以出现在问题属性内...... 我怎样才能验证它?

谢谢您的回答

最佳答案

您可以使用$ref来定义递归结构。

{
  "type": "object",
  "properties": {
    "type": { "type": "string" },
    "name": { "type": "string" },
    "questions": { "type": "array", "items": { "$ref": "#"} }
  }
}

关于php - Json Schema - 验证无限递归结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39469771/

相关文章:

php - 如何使用 MySql 和 PHP 存储/处理多个表的数据

php - 声明 Doctrine Embeddable 是否可为空

javascript - 如何使用 JSON 将劳工统计局数据导入 Highcharts?

javascript - 将大型数据集传递给客户端——Javascript 数组还是 JSON?

php - 将 Windows CryptoAPI 盐和哈希转换为 PHP

php - 将字符串清理成逗号分隔数字的最优雅方法

sql - Oracle apex_json.parse,速度

jquery - 使用 jQuery 计算 div 中嵌套的所有输入

python - 如何在 Pydantic 的严格类型(如 StrictStr)中使用验证器?

javascript - 如何验证 4 位美国邮政编码?