将结构体转换为JSON

9

我有一个结构体,想将其转换为JSON并保存为本地文件。

我找不到任何说明如何将C#结构体转换为JSON的来源。

我正在使用控制台应用程序进行操作,而不是Web服务等。


请查看 http://json.codeplex.com/。 - Sean U
JSon.NET 很容易使用,有很多教程。此外,它还内置了 AJAX 和 WCF 的序列化器,但我发现它们不太直观,有时也会出现错误。 - Mike Christensen
3个回答

17

JavaScriptSerializer类

var serializer = new JavaScriptSerializer();
YourStruct myStruct = new YourStruct(x,y,z);
var json = serializer.Serialize(myStruct);

JSON.NET

另一个选择是JSON.net,它不依赖于System.Web.*程序集。
YourStruct myStruct = new YourStruct(x,y,z);
var json = JsonConvert.SerializeObject(myStruct);

1
在控制台应用程序中引用System.Web.Extensions.dll是没有任何问题的。 - Mike Christensen
1
只要已安装。但是客户端配置文件中不包括ASP.NET组件,所以我觉得值得一提。 - Sean U
这种方法仍然是一个有效的方式吗? - DonCarleone
1
@DonCarleone 是的,没有改变。在.NETCore上,微软有一个新的Json库,但工作方式是相同的。 - Marcelo De Zen
1
感谢 @MarceloDeZen! - DonCarleone
显示剩余3条评论

3
我建议使用JSon.net。你可以这样做:
string json = JsonConvert.SerializeObject(myObj); // myObj is the struct you want to serialize
File.WriteAllText("Foo.json", json); //Write the text to Foo.json

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接