javascript - jQuery.parseJSON 无法解析序列化的 C# 字典

标签 javascript jquery json serialization

我正在使用 this tutorial序列化 C# 字典。 C# 字典被序列化为一个字符串。 @Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ElementDivIDs)) 很有魅力。这是我得到的输出:

  var jsonString = {"9":["ele9-tabs-attr9","ele9-tabs-attr48"],"10":["ele10-tabs-attr10"],"11":["ele11-tabs-attr11"],"12":["ele12-tabs-attr12","ele12-tabs-attr49"],"13":["ele13-tabs-attr13"],"14":["ele14-tabs-attr14"]}

我想将其转换为 Javascript 关联数组。 但是对 jquery.parseJSON 的调用返回 NULL。

var dictionaryOfOtherDivs = jQuery.parseJSON( jsonString );

dictionaryOfOtherDivs 在此之后为空。

这是我的代码:

<script type="text/javascript">
$(document).ready(function () {
     var jsonString = @Html.Raw(new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(ElementDivIDs))
     console.log(jsonString); 
     var dictionaryOfOtherDivs  = jQuery.parseJSON( jsonString ); 
     for(var dictKey in dictionaryOfOtherDivs)
     { 
        console.log("key = " + dictKey + ", value = " + dictionaryOfOtherDivs[dictKey]); 
     }
     //Do some more things
});
</script>

最佳答案

那不是 JSON 字符串;那是一个普通的对象字面量。

你不需要解析它。

关于javascript - jQuery.parseJSON 无法解析序列化的 C# 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10834266/

相关文章:

javascript - 一旦 json stringify writeStream 完成,如何解决 promise ?

java - 将 List<Object[]> 转换为 JSON

javascript - Jquery通过向上/向下箭头键盘增加/减少输入文本中的数字

javascript - 如何将 settimeout 与 vue.js 观察者一起使用?

javascript - 由于 JS 返回 false,链接不可点击

javascript - .scrollTop() 条件语句在悬停时中断

javascript - 我不明白为什么 Redirect() 不起作用

javascript - 是否可以将对象的属性添加到另一个(新)属性

JQuery 追加然后删除

javascript - 使用 Javascript 将两个变量连接成一个新变量