2011-01-25 71 views
2

使用ASP.NET 4.0 C#,我将如何能够将包含名称/值对象的列表的序列化更改为JSON对象即格式:JSON字典序列化为名称:值而不是{名称:名称,值:值}

{ 
name:value, 
name1:value1, 
name2:value2 
} 

代替

{ 
{name:name, value:value}, 
{name:name1, value:value1}, 
{name:name2, value:value2} 
} 

的字典中的名称/值对象在将内部存在的键的条件动态。一种解决方法是创建具有显式属性的自定义对象 - 但这种方法不可扩展,因此,此问题:)

谢谢。

+0

相关:http://stackoverflow.com/questions/4256337/how-can-i-return-a-dictionarystring-object-as-jsonresult-and-get-the-proper – 2012-07-19 07:56:18

回答

1

你可以实现一个自定义JavaScriptConverter,然后你完全控制序列化。或者把你所有的属性都放入IDictionary和JSON中,我想它会以你之后的格式出现。

+0

这正是我所做的 - 实现了一个自定义的JavascriptConverter,并对JsonResult进行了轻微的修改,以便我可以将自定义的JavascriptConverter添加到序列化中。 – TimLeung 2011-01-27 03:25:36