8

我正在寻找在 YAML 文件和 JSON 之间进行转换。这真的很难找到任何信息。

4

2 回答 2

11

如果不需要 Json.NET 的特性,也可以直接使用 Serializer 类发出 JSON:

// now convert the object to JSON. Simple!
var js = new Serializer(SerializationOptions.JsonCompatible);

var w = new StringWriter();
js.Serialize(w, o);
string jsonText = w.ToString();

你可以在这里检查两个工作小提琴:

于 2015-05-22T09:36:43.727 回答
3

可以通过使用内置 JSON 库和 YamlDotNet 来做到这一点。YamlDotNet 文档中并不明显,但我找到了一种相当简单的方法。

// convert string/file to YAML object
var r = new StreamReader(filename); 
var deserializer = new Deserializer(namingConvention: new CamelCaseNamingConvention());
var yamlObject = deserializer.Deserialize(r);

// now convert the object to JSON. Simple!
Newtonsoft.Json.JsonSerializer js = new Newtonsoft.Json.JsonSerializer();

var w = new StringWriter();
js.Serialize(w, yamlObject);
string jsonText = w.ToString();

我很惊讶这和它一样有效!JSON 输出与其他基于 Web 的工具相同。

于 2015-05-21T04:55:03.753 回答