jsonschema - JSON Schema $ref 属性
问题描述
我正在构建一个架构,我想包含另一个架构中的属性
通用架构:
{
"$id": "common.json",
"definitions": {
"string": {
"type": "string",
}
}
}
架构:
{
"properties": {
"foo": {
"$ref": "common.json#/definitions/string"
}
}
}
但是,当我对以下有效负载运行验证时:
{
"foo": "bar"
}
我收到以下错误:
类型无效。预期:对象,给定:字符串
我已经在一个工作正常的模式验证器中运行了这个,所以不确定我哪里出错了。以防万一这与库有关,我正在使用Go JSON Schema
加载架构的代码:
loader := gojsonschema.NewSchemaLoader()
commonSchema := gojsonschema.NewStringLoader(commonString) // Just the strings above
schema := gojsonschema.NewStringLoader(schemaString) // Just the strings above
if err := loader.AddSchemas(commonSchema); err != nil {
return nil, err
}
s, err := loader.Compile(schema)
if err != nil {
return nil, err
}
解决方案
推荐阅读
- php - 如何在 WooCommerce 中将鼠标悬停在产品上添加更多信息(摘录)
- node.js - Sequelize退货日期早于收到
- graphql - 苦艾酒数据加载器:Absinthe.Resolution.Helpers.dataloader/2 中的匿名 fn/3 中没有函数子句匹配
- c - 如何在 Cygwin 上安装 GCC
- r - (Caret) 包中的功能重要性
- ios - AVAudioPlayer 需要很长时间才能启动
- python - NameError:名称“Jan”未定义
- java - Java8流:将列表转换为另一个列表时出现ConcurrentModificationException
- git - Git Fetch - 使用特定用户的 ssh 密钥
- node.js - Heroku 到后端的路由在部署中不起作用