如何将text / html charset = UTF-8转换为json

时间:2017-02-06 16:55:33

标签: javascript json request

我正在调用一个返回内容类型为text / html charset = UTF-8的API。当我记录它时,结果看起来与json完全一样。但是当我记录typeof时,它说它是一个字符串。当我尝试访问它的属性时,我得到一个未定义的值。

首先,我尝试将其转换为JSON: const requestData = function(pageNumber){
  返回新的承诺((resolve,reject)=> {     const url = http://www.website.com/...;

request(url, (error, response, body) => {
  if (error) return reject(error)
  if (response.statusCode !== 200) return reject(response)
  console.log('Body: ', JSON.parse(body))
  resolve(body)
})

}) }

这会抛出一个错误: SyntaxError: Unexpected token m in JSON at position 1

我还试图在解析之前逃脱身体:

fixedstring = decodeURIComponent(escape(body))
console.log('keys: ', JSON.parse(fixedstring))

我得到同样的错误。

如上所述,当我记录正文时,它看起来与JSON相同:

...
console.log('body: ', body);
...
// Result printed to console:

    body:  {metadata:{ count:"1200", totalpages:400}, data:[{
      "city" : "Clearwater",
      "state" : "FL",
      "zip" : "33760",
    },{ 
    ...

如何将此转换为JSON?

0 个答案:

没有答案