在JavaScript中将JSON响应转换为正确编码

在JavaScript中将JSON响应转换为正确编码,javascript,json,encoding,request,utf,Javascript,Json,Encoding,Request,Utf,我正在尝试使用API中的数据。我使用的API访问,但也尝试过 在浏览器中访问网站时,我可以看到像\u00e2\u0080\u0099这样的序列。这个序列应该是一个倒勾撇号,但当我用JavaScript登录到控制台或用于呈现res.json(body)时,我得到的是字符–€ 如何解决此编码问题?JSON不应该总是简单的UTF-8吗 更新: 下面是一个显示该行为的示例 我认为这不是一个错误,您可以使用此扩展在浏览器上查看JSON 问题出在源数据中:JSON序列“\u00e2\u0080\u0099”

我正在尝试使用API中的数据。我使用的API访问,但也尝试过

在浏览器中访问网站时,我可以看到像
\u00e2\u0080\u0099
这样的序列。这个序列应该是一个倒勾撇号,但当我用JavaScript登录到控制台或用于呈现
res.json(body)
时,我得到的是字符
–€

如何解决此编码问题?JSON不应该总是简单的UTF-8吗

更新: 下面是一个显示该行为的示例


我认为这不是一个错误,您可以使用此扩展在浏览器上查看JSON
问题出在源数据中:JSON序列
“\u00e2\u0080\u0099”
不代表右引号。这里有三个Unicode代码点,第一个表示“–”,而另外两个是控制字符

您可以在开发人员控制台中验证这一点,或者运行以下代码段:


console.log(JSON.parse(“\u00e2\u0080\u0099”)您的控制台使用什么编码?还有,实际问题是什么?你希望看到什么?可能是重复的我已经更新了问题更准确。。。当我使用express重新提交收到的JSON时,情况有所不同。到目前为止,我还不知道问题出在哪里。如果是
request
axios
或两者中的JSON解析问题;或者这是否是
express
的JSON呈现的问题;或者,如果API的实际内容有问题,但简单的重读程序不应该转换编码/字符…听起来像是源代码<代码>\u00e2\u0080\u0099
不会以任何方式直接解析为反勾号。
const request = require('request')
request('https://remoteok.io/api', function (error, response, body) {
  const data = JSON.parse(body)
  console.log(data)
})