【发布时间】:2014-05-09 18:26:39
【问题描述】:
net 应用程序我正在从数据库中获取值的字典,并将它们从后面的代码传递到脚本。我在脚本中访问这些值作为
var dictionary = $.parseJSON('<%=DictionaryJson %>');
这里DictionaryJson是从asp.net传过来的,是这样传的
public string DictionaryJson
{
get
{
//i'm getting dictionary information into Dictionaryinformation then
JavaScriptSerializer jSer = new JavaScriptSerializer();
return jSer.Serialize(Dictionaryinformation);
}
}
当应用程序运行并获取 DictionaryJson 值时,如下所示
var dictionary = $.parseJSON('{"Name1":"Description1","Name2":"Description2"}');
传入 DictionaryJson 的数据已经被解析,但我正在使用另一个语句 `
var data = eval(DictionaryJson);
如果我不使用 $.parseJSON 并使用以下代码
var dictionary ='<%=DictionaryJson %>';
var data = eval(DictionaryJson);
然后 eval 抛出一个错误,说缺少';'
但如果我使用 $.parseJSON,那么当 Name1、Name2、Description1、Description2 中的任何一个包含任何特殊字符(如单引号 (') 或反斜杠 ())时,此语句将引发错误。它正在抛出错误。我想解决这个特殊字符的情况,但我仍然希望它们出现在文本中,因为它们的一部分是 Name1 可能类似于 Id/Number。
【问题讨论】: