如何将YAML转换为JSON?

时间:2015-05-21 04:55:04

标签: c# .net json yaml yamldotnet

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

2 个答案:

答案 0 :(得分:3)

如果您不需要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();

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

答案 1 :(得分:1)

可以通过使用内置的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, o);
string jsonText = w.ToString();

我感到惊讶的是,它确实如此有效! JSON输出与其他基于Web的工具完全相同。