如何解析未替换的单引号' 来自javascript中的json字符串Google Translate

如何解析未替换的单引号' 来自javascript中的json字符串Google Translate,javascript,json,decode,google-translate,Javascript,Json,Decode,Google Translate,我正在调用google translate api并返回未完全解码的字符串。特别是,我看到';单引号应该在哪里 例如: { "q": "det är fullt", "target": "en" } 返回 { "data": { "translations": [ { "translatedText": "It&\#39;s full", "detectedSourceLanguage": "sv"

我正在调用google translate api并返回未完全解码的字符串。特别是,我看到';单引号应该在哪里

例如:

{
  "q": "det är fullt",
  "target": "en"
}
返回

{
   "data": {
      "translations": [
       {
        "translatedText": "It&\#39;s full",
        "detectedSourceLanguage": "sv"
      }
    ]
  }
}

我本以为JSON.parse会处理这个问题,但事实并非如此。是否需要调用其他本机函数?我当前的解决方案是使用正则表达式
来解决这个问题,但是有没有更好的方法来使用javascript解码这种类型的东西呢

啊哈!问题是由于响应是HTML编码的

如果我直接把译文放在页面上,引用的效果就很好。然而,我把结果放在文本区,让用户有机会编辑翻译。因此,浏览器不会自动将字符串读取为HTML,因为它不会直接呈现为HTML

我现在使用的解决方案是使用DOMParser对字符串进行解码,如下所述:

var encodedStr='hello&;世界",;
var parser=新的DOMParser;
var dom=parser.parseFromString(
''+编码器,
“文本/html”);
var decodedString=dom.body.textContent;
控制台日志(解码字符串);
“我本以为JSON.parse会解决这个问题”JSON与HTML没有任何关系(也不应该有任何关系)。
var encodedStr = 'hello & world';

var parser = new DOMParser;
var dom = parser.parseFromString(
    '<!doctype html><body>' + encodedStr,
    'text/html');
var decodedString = dom.body.textContent;

console.log(decodedString);