【发布时间】:2015-11-13 14:31:59
【问题描述】:
我有一整套接收 POST JSON 对象并回复其他 JSON 格式数据的 WCF Web 服务。
在服务中的一个特定方法中,我试图传递一个 JSON 对象并将其解析为 Dictionary()。
方法的接口定义为:
[OperationContract(Name = "GetSomeData")]
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
string GetSomeData(AuthenticationData authData, Dictionary<string, string> options, string srcHash);
方法声明本身是:
public string GetSomeData(AuthenticationData authData, Dictionary<string,string> options, string srcHash)
{
// do something fancy
}
authData 和 srcHash 是所有方法的标准参数,包含预期数据,正确解析为 authData 的 AuthenticationData 对象。
其他方法对于声明的对象和原语都可以正常工作,但是 Dictionary 总是为空的。
通过的JSON字符串是:
"{\"options\",{\"id\":\"1\"}}"
为什么不将其解析为字典?
【问题讨论】: