Javascript编码对JSON无效

Javascript编码对JSON无效,javascript,json,encoding,Javascript,Json,Encoding,JSON和Javascript的编码是否不同?我有一个javascript片段,它嵌入到一些JSON中。但是,当javascript中出现特殊字符时(例如,“(”在JS代码段中表示为\x28),就会导致JSON无效 在上面的示例中,只有将“(”更新为“(”而不是“\x28”时,才会生成有效的JSON。第一个表示是十六进制,第二个表示是有效的HTML。我不熟悉编码类型 有人能帮我理解我需要在Javascript上使用哪种编码,以确保它总是以正确的JSON格式生成吗 我在下面提供了一个粗略的示例。特

JSON和Javascript的编码是否不同?我有一个javascript片段,它嵌入到一些JSON中。但是,当javascript中出现特殊字符时(例如,“(”在JS代码段中表示为\x28),就会导致JSON无效

在上面的示例中,只有将“(”更新为“(”而不是“\x28”时,才会生成有效的JSON。第一个表示是十六进制,第二个表示是有效的HTML。我不熟悉编码类型

有人能帮我理解我需要在Javascript上使用哪种编码,以确保它总是以正确的JSON格式生成吗

我在下面提供了一个粗略的示例。特殊字符是“\x28rt”,表示“(rt)。在JS中,它被编码为\x28rt。但是,要使其成为有效的JSON,它必须是“rt”


\x28
是ascii转义,您是否尝试过Unicode转义
\u0028
?表示字符字符串可以包含任何Unicode字符

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