我在解析看似有效的json时出错.JSON字符串在字符串中包含一个转义双引号字符.

我已经把这个例子浓缩成尽可能简单的形式,复制并粘贴在下面.我用来测试的浏览器是Chrome版本100.0.4896.75.

有人能帮我理解我做错了什么吗?

let a = JSON.parse('{"a": "\""}');

错误:{

推荐答案

在您的 case 中,要分析的有效字符串应该是:

const str = '{"a":"\\""}'
const parsedStr = JSON.parse(str);

console.log(parsedStr);

说明:

以下是无效的字符串初始化

const str = "\";

有效语法为:

const str = "\\";
console.log(str);

因此,\\转化为\(第一个逃逸第二个).

此外,该项目的输出:

const str = "\\\\";
console.log(str);

const strWithQuote = "\\\"\\";
console.log("String with quote: ", strWithQuote);

Javascript相关问答推荐

在nodejs中渲染网页时永远不会结束加载图标

如何在 TypeScript 中获取 Enum 的最小值/最大值

react ,在使用 useContext 时得到未定义的结果

如何判断数组是否包含给定元素

如何在 javascript 中制作响应式 WASD 控制器

在 NextJS 中使用 useContext 和 useReducer 并将 null 作为上下文读取

ObjectSpaceNormalMap 不适用于 MeshNormalMaterial

正则表达式替换未按预期在 nodejs 上工作的换行符

react js中的搜索过滤器

交换 3 个 div 并使选择 div 居中

如何将下拉菜单与按钮对齐

显示 React 中选定过滤器数组的总数

使用我的像素艺术程序时出现奇怪的视觉错误

如何将文件从表单添加到 Firebase 数据库? Vue js + Vuetify + Firebase

正文尺寸小于视口时如何设置背景 colored颜色 ?

如何在保持居中的同时水平滚动到容器中的项目?

合并两个不同大小的相交圆并找到半径加权中心的坐标

向下滚动页面,然后使用 jQuery 向上滚动

如何添加活动类以链接到当前页面和语言环境?

调试时如何配置VS Code运行npx vite dev