gpt4 book ai didi

javascript - 当字符串在双引号中包含单引号时,如何在 Javascript 中将此字符串转换为 JSON 对象

转载 作者:行者123 更新时间:2023-12-03 07:04:52 24 4
gpt4 key购买 nike

如果字符串只包含双引号,可以像下面这样解决-

var str=`{"name":"javascript"}`;
var jsonObj=JSON.parse(str) //Works

如果字符串只包含单引号,可以像下面这样解决-

var str = "{'result': ['def', 'abc', 'xyz']}";
str = str.replace(/'/g, '"');
var res = JSON.parse(str);
console.log(res.result);

但是我们如何转换下面的字符串,其中双引号内有单引号-

var s=`{'error': "No such file or directory: '../FileSystem/3434-5433-124/'"} ` 

最佳答案

这看起来不像是有效的字符串化 JSON。

var s=`{'error': "No such file or directory: '../FileSystem/3434-5433-124/'"} ` 

error 应该用双引号引起来。

var s=`{"error": "No such file or directory: '../FileSystem/3434-5433-124/'"} ` 

您可以使用 JSON.stringify 验证它

JSON.stringify({
error: "No such file or directory: '../FileSystem/3434-5433-124/'"
})

假设您使用的是有效的 JSON。您现在可以使用反斜杠转义单引号。

var s = `{"error": "No such file or directory: '../FileSystem/3434-5433-124/'"}` 
const parsed = JSON.parse(s.replace(/\'/g, "\'"));
console.log(parsed)

关于javascript - 当字符串在双引号中包含单引号时,如何在 Javascript 中将此字符串转换为 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64233282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com