如何获取Newtonsoft.Json.Schema来解析子模式?

时间:2016-06-22 16:39:02

标签: c# .net json json.net

我正在尝试让Newtonsoft.Json.Schema在https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/resourceListing.json#解析模式,但是它无法解析引用为resourceObject.json#的子模式。它正确地指出网址应该是https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/resourceObject.json#但是无法加载它并出现此错误:

  

无法解析架构引用“https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/resourceObject.json#”。路径'properties.apis.items',第10行,第22位。

我使用http://www.jsonschemavalidator.net/验证了两个模式,它似乎使用了我正在使用的相同库。我还使用我引用的架构(resourceListing.json)来验证我正在尝试验证的内容并且它有效。

我尝试使用this documentation中建议的JSchemaPreloadedResolver自己加载它,但这会导致完全相同的错误。这是我用RestSharp作为客户端库的代码。

var dependencyResolver = new JSchemaPreloadedResolver();
dependencyResolver.Add(
   new Uri("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/resourceObject.json#"),
   client.Get<string>("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/resourceObject.json#")
);
var schema = JSchema.Parse(client.Get<string>("https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/resourceListing.json#"), dependencyResolver);

0 个答案:

没有答案