我使用官方文档中的这个示例作为我的代码的基础。
我正在验证这样的 json 字符串:
var jsonText = File.ReadAllText(fileName);
var schema = JsonSchema.Parse(File.ReadAllText("schema.jsonschema"));
var jObj = JsonConvert.DeserializeObject(jsonText) as JObject;
IList<string> messages;
if (!jObj.IsValid(schema, out messages))
{
foreach (var message in messages)
{
Console.WriteLine(message);
}
}
这可行,但我收到的错误消息不包含有问题的行号,例如:
类型无效。预期字符串,但得到整数。
链接的示例表明消息中应该有一个行号,但没有。也许此功能已被删除或需要设置标志?如果可能,我希望输出包含行号和模式项的描述属性。