我正在尝试将一个对象转换为json对象,该对象适用于以下对象和相关代码:
myStr = "{'key':'value'}"
JSON.parse(myStr.replace(/'/g, "\""));
问题是,使用相同的代码,我得到以下对象的异常:
myStr = "{'key':'val'ue'}"
错误是意外的令牌u。我想在l和u之间保留单引号,而不是替换它。
还有吗?
答案 0 :(得分:1)
你可以做到这一点,但感觉有点hacky ......
JSON.parse(myStr.replace(/{'/g, "{\"").replace(/'}/g, "\"}").replace(/':'/g, "\":\""));
答案 1 :(得分:-1)
希望这可以帮到你。假设内部单引号出现在字母表之间。
myStr = "{'key':'val'ue'}"
JSON.parse(myStr.replace(/([a-z])'([a-z])/g, "$1\\'$2"));