如何解析未替换的单引号' 来自javascript中的json字符串Google Translate
我正在调用google translate api并返回未完全解码的字符串。特别是,我看到';单引号应该在哪里 例如:如何解析未替换的单引号' 来自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"
{
"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);