json - 什么规则决定了 JSON 中的转义
问题描述
说我有这个:
const v = {
val: ' bad \\" string"'
};
console.log(JSON.stringify(v));
JSON.stringify 知道添加转义 \ 反斜杠,以便输出如下所示:
{"val":" bad \\\" string\""}
这里遵循什么规则?stringify 例程如何知道添加第三个反斜杠?
解决方案
这里遵循什么规则?stringify 例程如何知道添加第三个反斜杠?
这个 JavaScript 字符串字面量
' bad \\" string"'
表示这个字符串
bad \" string"
当转换为 JSON 时,双引号"
和反斜杠\
必须被转义,所以
" bad \\\" string\""
顺其自然。直接来自json.org:
推荐阅读
- python - Python 中用于提取特定字符串的正则表达式帮助,如下所示
- reactjs - 由于 lib.dom.d.ts 和 react-native 之间的标识符重复,TypeScript 编译失败
- mysql - mysql子查询?我的方法看起来像是一种廉价的方法
- android - 视图模型。设置数据
- tensorflow - 如何使用 TensorFlow tf.data.experimental.group_by_reducer
- javascript - CSS-如何在 i 标签悬停时显示面板
- java - 如何在播放框架中禁用序列化?
- c# - 将文件从 Windows 客户端传输到 Android 服务器
- javascript - 获取两个“\n”之间的部分字符串
- tfs - 无法为 TFS 2018 安装远程代理