用nodejs
写了个工具来将指定目录下的html
文件名和文件内容作为键值对存储为一个对象,然后将这个对象使用JSON.stringify()
转化为字符串后存储为另外一个文件。现在的问题是, 当文件内容里面含有双引号的时候, 会出现报错的情况, 但是在原JSON文件里, 双引号是转义了的来着。 是我哪一部分没有整对吗?
如下图所示: 如果直接在浏览器里定义一个对象并添加双引号包含的内容的时候, 转化为json
字符串后再打印字符串能够看到转义符号, 但是直接复制过来的json
字符串里明明有转义符号, 但是之后再打印的时候就没有了, 这是为啥。。。
var json = '{"test":"<p>测试测试测试测试测试</p>","test2":"<p class=\"container\">\r\n <p class=\"ext\"></p>\r\n</p>\r\n<p class=\"left\">\r\n left\r\n</p>\r\n<p class=\"right\">\r\n right\r\n</p>\r\n","test3":"<p class=\"container\">\r\n <p class=\"left\">\r\n\r\n </p>\r\n <p class=\"right\">\r\n\r\n </p>\r\n</p>\r\n"}';
JSON.parse(json); // error
PS: 直接require()
那个文件的话也能够正常读取
很简单一次转义是不够的, 自己理解一下
update下:
字面量
'\"'
会是"
还是\"
呢