2

我在我的 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 向 JSON 对象添加方括号,当然无需手动添加它们

4

1 回答 1

0

Your json string values should be wrapped by quotes like

string json = @"{""key1"":""value1"",""key2"":""value2""}";

then call

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);
于 2013-06-21T06:16:07.703 回答