2017-01-03 2 views
0

В ходе реализации YAML в JSon конвертер для развязности схемы я столкнулась с проблемой: по умолчанию настройки десериализации строителяYAML конверсии JSon

var deserializer = new DeserializerBuilder().Build() 

не может распознать «целое», «логические» типов. Deserializer преобразует эти типы в строки. Для бывших: у меня есть YAML:

EntityId: 
    type: integer 
    example: 1245 

EntityIds: 
    type: array 
    items: 
     $ref: EntityId 
    example: [152, 6542, 23] 

Результат преобразования является:

"EntityId":{ 
    "type":"integer", 
    "example":"1245" 
}, 
"EntityIds":{ 
    "type":"array", 
    "items":{ 
    "$ref":"EntityId" 
    }, 
    "example":[ "152","6542","23"] 
} 

, но если я ставлю входной YAML на любой из онлайн конвертеров я получаю правильный результат JSon:

"EntityId": { 
    "type": "integer", 
    "example": 1245 
}, 
"EntityIds": { 
    "type": "array", 
    "items": { 
    "$ref": "EntityId" 
    }, 
    "example": [ 
    152, 
    6542, 
    23 
    ] 
} 

также поведение для булевых типов.

Вопрос в том, как настроить десериализатор для правильного преобразования.

ответ

3

В настоящее время это не поддерживается YamlDotNet. Проделана работа по поддержке schemas, что позволило бы это сделать, но оно еще не завершено.

+0

у вас есть ETA? –

Смежные вопросы