3

我使用官方文档中的这个示例作为我的代码的基础。

我正在验证这样的 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);
            }
        }

这可行,但我收到的错误消息不包含有问题的行号,例如:

类型无效。预期字符串,但得到整数。

链接的示例表明消息中应该有一个行号,但没有。也许此功能已被删除或需要设置标志?如果可能,我希望输出包含行号和模式项的描述属性。

4

0 回答 0