Javascript编码对JSON无效

时间:2014-05-30 03:19:59

标签: javascript json encoding

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"
 }

1 个答案:

答案 0 :(得分:1)

\x28是ascii转义,您是否尝试过Unicode转义\u0028http://www.json.org/表示char字符串可以包含任何Unicode字符。