2011-07-14 17 views
1

我在C#列表的字符串列表,需要返回的JSON結構看起來像這樣:C#以JSON結構有助於

'String1': { name: 'String1' } 

什麼是實現這一目標的最好和最簡單的方法是什麼?

編輯:我不需要序列化程序,我嚴格需要結構的幫助。我正在使用.net mvc JsonResult。

+2

查看[JavaScriptSerializer](http://msdn.microsoft.com/zh-cn/library/system.web.script.serialization.javascriptserializer.aspx)或[JSON.NET](http:// json。 codeplex.com/) –

+0

JSON.NET或JSON.NET –

回答

2

爲了有效的JSON它應該是這樣的:

"String1": { "name": "String1" } 

如果你知道這些字符串不包含任何需要的編碼(如引號),如果你想這是有可能使用它們作爲標識符,你可以自己做的系列化:

string json = 
    "{" + 
    String.Join(",", list.Select(s => "\"" + s + "\":{\"name\":\"" + s + "\"}")) + 
    "}"; 

其中list是你的字符串列表。

+0

這個工程,但我希望有一個更簡單的方法。 – Victor

+1

@Victor:這很簡單。你可以使用serialiser來代替,但創建串行化對象的代碼比這更復雜,特別是當你使用動態屬性時。 – Guffa

0

可以使用JavaScriptSerializer。查看更多示例herehere

System.Web.Script.Serialization.JavaScriptSerializer oSerializer = 
    new System.Web.Script.Serialization.JavaScriptSerializer(); 
string sJSON = oSerializer.Serialize(myList); 
+1

我需要獲取獲取對象設置的幫助,而不是序列化程序。我已經更新了這個問題。 – Victor