WCF将字典序列化为JSON数组而不是列表

时间:2014-10-20 14:02:23

标签: c# json wcf

作为我的情况的基本示例,假设我有一个具有两个属性的类(UserInfo)。一个是用户名字符串,另一个名为Demographics是字典。该类标有DataContract,道具标有DataMember。我在我的WCF服务中有一个OperationContract,它将我的对象作为JSON返回。当请求命中并返回我的对象​​时,它被序列化为:

{"UserName":"Bobby", "Demographics" : [{"Key": "1", "Value": "Blah1"},{"Key": "2", "Value": "Blah2"}]}

人口统计数据作为数组返回。我希望它作为列表返回。意味着应该删除括号,如下所示:

编辑我错误地写了那个对象

{"Username": "Bobby", "Demographics": { "Key1": { "Value": "Blah1" }, "Key2": { "Value": "Blah2" } } }

我的经营合同是:
    [OperationContract] [WebInvoke(UriTemplate = "GetNewUserFields", ResponseFormat = WebMessageFormat.Json, Method = "GET"), Description("Get the Fields needed for a new user")] UserInfo GetNewUserFields();

有没有办法做到这一点?我会发布直接代码示例,但是我序列化的类实际上比我描述的要复杂得多,这里发布的返回结果将是一堆乱七八糟的数据。

感谢您提供任何帮助。

0 个答案:

没有答案