Javascript 编码对 JSON 无效

标签 javascript json encoding

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

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

有人可以帮助我了解我需要在 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/表示 char 字符串可以包含任何 Unicode 字符。

关于Javascript 编码对 JSON 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23946485/

相关文章:

json - 如何使用 Groovy 代码删除响应正文中 Gerrit 的 REST API 的魔术前缀?

javascript - 从数据表结果中删除时间

encoding - 用C++代码编写FFMPEG的Tee Pseudo muxer

javascript - 将数组缓冲区转换为字符串 : Maximum call stack size exceeded

java - 警告 java.lang.StringIndexOutOfBoundsException : length=75; regionStart=0; regionLength=100

javascript - 使用原型(prototype)优于在构造函数中创建函数的优势?

javascript - 是否可以使用 JavaScript 直接进入打印过程而不加载 html 页面?

javascript - jquery animate : two divs, 一个移出屏幕,另一个移入

git - Git Diff 中的非 UTF8 字符(如 ESC[1;33m] )

javascript - 延迟脚本和放在页面主体末尾的脚本有什么区别?