我正在尝试对我的 json 代码进行字符串化,以便将其发送到 MVC Controller 。 但当数据包含一些特殊字符(例如大于>或小于号<)时,它不起作用。
这是示例代码
function demo()
{
debugger
var demo = [];
demo.one = 'one';
demo.two = '<just>'
var treeBinding = JSON.stringify(demo);
$.ajax({
url: '/flow/demo',
type: "GET",
data: { dd: treeBinding },
success: function (res) {
},
error: function (error) {
alert(error)
}
});
}
在这种情况下,JSON.stringify 返回一个空白数组。 谁能帮我让它工作吗?
最佳答案
首先,你的数组声明是不正确的。这应该是一个对象,但无论如何你都需要检查对象和数组之间的差异。但是我假设演示是一个带有两个键/属性的对象,将被发送到服务器。
所以声明应该是这样的-
var demo = {};
demo.one = 'one';
demo.two = '<just>';
那么你应该使用转义 -
var treeBinding = encodeURIComponent(JSON.stringify(demo));
关于javascript - 如何在 JSON stringify 中使用特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34453477/