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);
            }
        }

これは機能しますが、表示されるエラーメッセージには、問題のある行番号が含まれていません。次に例を示します。

タイプが無効です。文字列が必要ですが、整数を取得しました。

リンクされた例は、メッセージに行番号が含まれている必要があることを示していますが、そうではありません。たぶん、この機能は削除されたか、フラグを設定する必要がありますか?可能であれば、出力に行番号とスキーマ項目のdescriptionプロパティを含めたいと思います。

4

0 に答える 0