我在javascript中有一个键值对的对象,我使用JSON进行序列化。我按如下方式生成序列化字符串:
var requestParams = {};
requestParams.myObject.Key1 = "Value1";
requestParams.myObject.Key2 = "Value2";
var myJSONObj = JSON.stringify(requestParams);
//becomes "{"myObject":{"Key1":"Value1","Key2":"Value2"}}"
Ajax电话:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "myServicePath.svc/myMethod"
data: myJSONObj
dataType: "json",
});
服务器端方法:
[WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
public void myMethod(Dictionary<string,string> myObject)
{
//....
}
我的问题是,当myMethod&#39;到达了,词典&#39; myObject&#39;是一本空字典。我不得不猜测我通过的JSON字符串是不是正确反序列化,或者我期待“myMethod&#39;”中的数据类型错误。我有什么明显的遗失吗?