首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ASP.NET将JSON存储在C#文本中并使用JavaScript访问JSON会引发“无效字符”错误

使用ASP.NET将JSON存储在C#文本中并使用JavaScript访问JSON会引发“无效字符”错误
EN

Stack Overflow用户
提问于 2015-07-10 21:18:22
回答 1查看 709关注 0票数 0

我试图在ASP.NET文本控件中存储一个JSON字符串。此JSON字符串采用以下格式:

代码语言:javascript
运行
复制
[
    ['Time', 'Speed', 'Distance'],
    ['09-07-2015 2:21:39 PM', 76, 500],
    ['08-07-2015 6:02:41 PM', 350, 500],
    ['08-07-2015 5:55:43 PM', 10, 50],
    ['08-07-2015 5:55:36 PM', 50, 50],
    ['08-07-2015 5:55:21 PM', 180, 80],
    ['08-07-2015 5:51:38 PM', 100, null]
]

我是这样把它添加到文字中的:

代码语言:javascript
运行
复制
Literal1.Text = "<input type='hidden' id='jsondata' value=\"" + JSONData + "\" />";

但是用户输入的实际JSON数据可能包含任何字符,包括"'。这个JSON数据可以在JavaScript中访问,如下所示:

代码语言:javascript
运行
复制
function SetGraphData() {
    var hiddenField = $('#jsondata');
    jsonData = $.parseJSON(hiddenField.val());
}

但是在解析JSON时,它显示了Invalid character错误。请告诉我原因是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-10 21:21:00

JSON使用双引号,而不是单引号。

此外,您还应该确保正确地使用HttpUtility.HtmlEncode之类的HTML来转义JSON数据,或者因为您使用的是ASP.NET,所以只需使用<asp:HiddenField>而不是当前的设备。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31350436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档