JSON和Javascript的编码是否有所不同?我有一个嵌入在某些JSON中的javascript代码段。但是,当javascript中出现一个特殊字符时(例如'('在JS片段中表示为\ x28),它会导致JSON无效。
在上面的示例中,仅当我更新'('表示为'('而不是' \ x28'它是否会导致有效) JSON。第一个表示是十六进制。第二个表示是有效的HTML。我不熟悉编码类型。
有人可以帮我理解我需要在Javascript上使用哪种编码,以确保它总能产生正确的JSON格式吗?
我在下面列出了一个粗略的例子。特殊字符是' \ x28rt'表示'(rt'。在JS中它被编码为\ x28rt。但是为了使它成为有效的JSON,它需要是'' rt
{
"class":"myType",
"id":"testId",
"javascript":"function testMethod() {var v2 = function (a, b, e) {return e(a, b);};}var v1 = 'somevalue';if (v2((v1), ('\x28rt'), function (a, b) {if (a == undefined || a == null) {return false;}return a === b;})) {alert('test1');};} else {alert('test2');};}}",
"name":"Step1"
}
答案 0 :(得分:1)
\x28
是ascii转义,您是否尝试过Unicode转义\u0028
? http://www.json.org/表示char字符串可以包含任何Unicode字符。