2012-08-22 237 views
4

我有一個結構體,我想將其轉換爲JSON並將其保存爲本地文件。將結構轉換爲JSON

我找不到任何解釋如何將C#結構轉換爲JSON的源代碼。

我使用一個控制檯應用程序,而不是一個Web服務/網絡等

+0

看看http://json.codeplex.com/ –

+0

[JSon.NET(http://james.newtonking.com/projects/json-net。 aspx)很容易使用,並有大量的教程。還有內置AJAX和WCF的序列化程序,但是我發現它們不是非常簡單易用,偶爾也會有bug。 –

回答

8

JavaScriptSerializer Class

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); 
+0

JavaScriptSerializer位於ASP.NET程序集中。 –

+0

@SeanU,的確如此。他沒有要求具體的方法。但我會用JSON.net的例子 – devundef

+1

沒有什麼會阻止你在控制檯應用程序中引用* System.Web.Extensions.dll * –

0

我wou ld建議使用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