无法将Json对象反序列化为字典
本文关键字:反序列化 字典 对象 Json | 更新日期: 2023-09-27 18:19:14
我有一个JSON对象创建在我的jquery文件
{"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对象,当然不需要手动添加它们
json字符串值应该用引号括起来,如
string json = @"{""key1"":""value1"",""key2"":""value2""}";
then call
Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(json);