我在我的jquery文件中创建了一个JSON对象
{"showmiddleinitial":"True","showprefix":"True","showsuffix":"True"}
现在我通过解析它来使用AJAX调用将此对象发送到我的控制器
$.parseJSON({"showmiddleinitial":"True","showprefix":"True","showsuffix":"True"})
或
{"showmiddleinitial":"True","showprefix":"True","showsuffix":"True"}
对于上述两种情况我都会遇到跟随错误
Cannot deserialize JSON object into type 'System.Collections.Generic.List`1[System.Collections.Generic.Dictionary`2[System.String,System.String]]'.
或
Error converting value "{"showmiddleinitial":"True","showprefix":"True","showsuffix":"True"}" to type 'System.Collections.Generic.List`1[System.Collections.Generic.Dictionary`2[System.String,System.String]]'.
任何人都可以引导我朝着正确的方向前进吗? 我使用ASP.net与C#,MVC和Jquery
我在C#代码中做不了多少,因为那是静态的,因此我只能依赖jquery。 c#中的对象是
类型List<Dictionary<string, string>> attributesList
嗯......我找到问题的根源并注意到发送
$.parseJSON([{"showmiddleinitial":"True","showprefix":"True","showsuffix":"True"}])
解决了这个问题。 任何人都可以让我知道如何从jquery,ofcourse添加方括号到JSON对象,而无需手动添加它们
答案 0 :(得分:0)
你的json字符串值应该用引号括起来,比如
string json = @"{""key1"":""value1"",""key2"":""value2""}";
然后致电
Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);