为了账号安全,请及时绑定邮箱和手机立即绑定

YamlDotNet 将整数反序列化为数字而不是字符串

YamlDotNet 将整数反序列化为数字而不是字符串

C#
慕少森 2021-07-01 04:19:49
我需要将yaml 文件转换为json 格式,以便根据json 模式对其进行验证。所以我用yamldotnet读取yaml文件,用json.net序列化成json格式的字符串。不幸的是,在那之后,所有数值都被转换为字符串并且验证出错。我怎样才能避免这种情况?这是我使用的代码:var t = File.ReadAllText(src);var d = new YamlDotNet.Serialization.Deserializer();var sr = new StringReader(t);var o = d.Deserialize(sr);var s = new Newtonsoft.Json.JsonSerializer();var sb = new StringBuilder();var sw = new StringWriter(sb);s.Serialize(sw, o);txt = sb.ToString();Console.WriteLine("JSON Output: {0}", txt);
查看完整描述

1 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

您可以通过在源 YAML 中强制使用带有标记的数据类型来解决此问题,例如


myObject:

  myIntValue: !!int 5

  myBoolValue: !!bool true

  myStringValue: hi there

这并不理想,但可能是一个有用的技巧。


查看完整回答
反对 回复 2021-07-03
  • 1 回答
  • 0 关注
  • 328 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号