测试已测试 | ✓ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最新发布 | 2016年1月 |
由 Jakob Jensen 和 Krzysztof Piatkowski 维护。
基于 https://json-schema.fullstack.org.cn 的 iOS json schema 验证器
可以通过包括 /json-schema-validator/Classes/* 和 /json-schema-validator/Resources/* 将类添加到项目中
甚至更简单,只需将其作为 CocoaPod 安装
NSError *errors = [[TFJSONSchemaValidator validator] validate:json withSchema:@"someSchema"]
参数 json 是通过使用 NSJSONSerializer 创建的 json 字符串的 NSDictionary 表示形式
如果读取或解析方案失败,则 errors 是一个 NSJSONSerializer 错误。否则 errors.userInfo[@"errors"] 是一个包含所有验证错误的数组
提供的任何方案都将与 Core/Validation schema 进行验证
如果对象有多个以下内容之一:类型、枚举、$ref、allOf、anyOf、not
验证失败,并以 "schema-error" 为前缀
原因是因为规范没有提到如果出现多个关键字会发生什么
以下是什么意思?
{
"allOf" : [{"type" : "string"}],
"anyOf" : [{"type" : "number"}, {"type" : "null"}]
}
原因在于 ICU 是内置在 Objective-C 中的引擎,使得解析和运行表达式变得更简单
$ref 可以引用构造函数中指定的同一个 NSBundle 中的方案(默认是 [NSBundle mainBundle])。方案是这样引用的:bundle://filename.json