0

在为 swagger 模式实施 yaml 到 json 转换器期间,我遇到了问题:反序列化构建器的默认设置

var deserializer = new DeserializerBuilder().Build()

无法识别“整数”​​、“布尔”类型。反序列化器将这些类型转换为字符串。例如:我有 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
  ]
}

也适用于布尔类型。

问题是如何设置解串器以进行正确的转换。

4

1 回答 1

3

目前,YamlDotNet 不支持此功能。支持模式的工作正在进行中,这将实现这一点,但尚未完成。

于 2017-01-04T09:41:47.000 回答