我需要将 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);
答案 0 :(得分:1)
您可以通过在源YAML中强制使用带有标签的数据类型来解决此问题,例如
myObject:
myIntValue: !!int 5
myBoolValue: !!bool true
myStringValue: hi there
这不是理想的方法,但是可以是一个有用的技巧。