javascript json用单引号解析

时间:2015-07-10 13:31:46

标签: javascript json

我正在尝试将一个对象转换为json对象,该对象适用于以下对象和相关代码:

myStr = "{'key':'value'}"
JSON.parse(myStr.replace(/'/g, "\""));

问题是,使用相同的代码,我得到以下对象的异常:

myStr = "{'key':'val'ue'}"

错误是意外的令牌u。我想在l和u之间保留单引号,而不是替换它。

还有吗?

2 个答案:

答案 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"));