2011-07-14 18 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