NJsonSchema: схемы JSON с вложенными массивами генерируют некорректные типы C#

Я хотел бы использовать NJsonSchema для генерации классов C#. Проблема в том, что для вложенных массивов тип в конечном итоге выглядит следующим образом:

System.Collections.ObjectModel.ObservableCollection<System.Tuple<System.Linq.Enumerable+WhereSelectEnumerableIterator2[NJsonSchema.JsonSchema4,System.String]>>

Мой тестовый код для генерации классов выглядит так:

var schemaAsync = NJsonSchema.JsonSchema4.FromFileAsync(
    @"<myPath>/MyFile.json");

var schema = schemaAsync.Result;

var generator = new NJsonSchema.CodeGeneration.CSharp.CSharpGenerator(schema);
var file = generator.GenerateFile();

System.IO.File.WriteAllText(
    @"<myPath>/SomeClass.cs",
    file);

У меня есть два файла схемы JSON, есть файл определения (Def1.json):

{
    "$schema": "http://json-schema.org/draft-04/schema#",

    "definitions": {
        "InnerList": {
            "description": "Only ever has 2 items",
            "type": "array",
            "items": [ 
                {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100,
                    "default": 0
                },
                {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100,
                    "default": 0
                }
           ],
          "additionalItems": false
        },
        "OuterList": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/InnerList"
            }
        },
    }
}

И отдельная схема, которая использует файл определения:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "MySchema",
    "type": "object",
    "required": [ "OuterList" ],
    "properties": {
        "OuterList": { "$ref": "Def1.json#/definitions/OuterList" }
    },
    "additionalProperties": false
}

Я неправильно использую библиотеку?

1 ответ

Решение

Эта проблема была исправлена ​​в последней версии.

Другие вопросы по тегам