如何在Objective-C中验证JSON模式?

时间:2013-12-13 13:06:46

标签: c++ objective-c c json jsonschema

我从服务器返回JSON,我想针对JSON Schema验证它(可能是草案V3,但可以改变)。

我认为也许NSDictionary会有功能,但似乎没有,这是我的尝试:

[self.dictionary ]

(其中dictionary是NSDictionary)

没有任何方法可以针对我能找到的JSON模式验证NSDictionary。我该怎么做?

请注意,您可以在objective-c中编写C和C ++,因此这些标记存在于问题中。

3 个答案:

答案 0 :(得分:6)

Objective-C是C的超集.JSON Schema网站列出了一个C库 wjelement ,您可以对其进行调整。

示例函数调用是

WJESchemaValidate(schema, json, schema_error, schema_load, NULL, format)

您需要自然地提供C字符串,而不是NSString

注意:在我写完答案之后,我意识到你从一开始就对纯C很好:)

答案 1 :(得分:4)

在找不到这个问题的满意答案之后 - 我离开并在原生Objective-c中开发了我自己的架构验证器:https://github.com/samskiter/KiteJSONValidator

我刚刚通过了JSON-Schema测试套件中的所有测试,所以我发布了v0.1。

它是在MIT许可下发布的,所以我希望它对某人有用......

答案 2 :(得分:1)

对于正在寻找麻省理工学院许可的JSON模式验证器的人来说,“JsonSchemaValidator”做得很好,可以在这里找到:https://bitbucket.org/nut_code_monkey/jsonschemavalidator