【发布时间】:2021-08-09 12:29:18
【问题描述】:
YamlDotNet 可以反序列化包含 json 的 yaml 文档。
假设有一个 yaml 文档作为 输入,如下所示。
fieldA: a
fieldB:
- { "subFieldA": "a1","subFieldB": "b1" }
- { "subFieldA": "a2","subFieldB": "b2" }
然后,我反序列化它并重新序列化。
class Program
{
static void Main(string[] args)
{
using var sr = new StreamReader("test.yaml");
var deserializer = new DeserializerBuilder()
.WithNamingConvention(CamelCaseNamingConvention.Instance)
.Build();
var output = deserializer.Deserialize<Temp>(sr);
var serializer = new SerializerBuilder()
.Build();
Console.WriteLine(serializer.Serialize(output));
}
}
public class Temp
{
public string FieldA { get; set; }
public List<Dictionary<string, string>> FieldB { get; set; }
}
我会得到如下的输出。
FieldA: a
FieldB:
- subFieldA: a1
subFieldB: b1
- subFieldA: a2
subFieldB: b2
但我希望属性FieldB 仍被序列化为 json。
换句话说,我想获得与 input 相同的 output。
请问有没有办法使用YamlDotNet来实现这个效果?
【问题讨论】:
-
所以,你发明了 json 和 yaml 的混合,现在你问“这个工具支持吗?”。我看不出你是怎么想到的。
-
@Zalasento 你能说得更具体点吗?我可以为您制作样品。
标签: c# yamldotnet