javascript - 解析带有双引号的字符串

标签 javascript json typescript

我的问题与此问题相关jQuery.parseJSON single quote vs double quote 。 关于这个问题有很多主题,但我仍然不知道干净的解决方案。

我没有 Jquery,我正在使用 TypeScript(而不是 JavaScript)。但其他方面都是一样的。

我的问题是:如果我有带有双 qoute 的字符串怎么办?

如何解决这个问题? 有没有办法将其转换为有效的字符串类型?

var obj = JSON.parse(data);

如果 json 字符串带有双 qoute,我会收到错误。

语法错误:意外的标记

整个代码是:

fs.readFile(templatePath, 'utf8', (err: Error, data: Object) => {
    if (err) {
        res.send(500);
    }

    try {
        var obj = JSON.parse(data);
        res.json(obj);
    } catch (e) {
        res.send(500);
    }
});

感谢您的帮助。

最佳答案

在将字符串存储到 JSON 之前,将“的所有实例替换为\”

var str='hello "Rajat Bhardwaj"';
str=str.replace(/"/g,'\\"');
// Now push it into JSON

关于javascript - 解析带有双引号的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31309640/

相关文章:

javascript - 将第三方库添加到 Chrome 扩展时遇到问题

javascript - 固定内层在外层顶部,滚动外层时防止内层溢出到外层

javascript - 使用 javascript setInterval 函数,一个 div 启动内容到 fadeToggle,另一个 div 停止 fadeToggle 动画

angular - 使用 angular2 发送身份验证凭据

typescript :未定义联合的缩写,字符串是可选属性类型?

javascript - 获取错误 promise 在 IE11 中未定义

java - 在Java中将JSON的每个元素解析为数组

python - 无法将 Json 转换为 Pandas 数据框

arrays - 如何使用where子句检查postgres数组中是否存在值

angular - angular2 如何在同一请求中发布 JSON 数据和文件