Javascript编码对JSON无效

Javascript encoding not valid for JSON

本文关键字:无效 JSON 编码 Javascript      更新时间:2023-09-26

JSON和Javascript的编码不同吗?我有一个javascript片段,嵌入在一些JSON。然而,当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"
 }

'x28是ascii转义,您尝试过Unicode转义'u0028吗?http://www.json.org/表示字符串可以包含任何Unicode字符