jsonp格式的数据转化为json格式

如果前端请求获取到的数据格式是jsonp,那么我们就要转换成json才能进行解析。

datas为jsonp数据格式的字符串变量,如:jsonp({"a":"1234","b":9999})

function jsonpToJson (datas) {
  let jsonData = null
  // 下面是对获取到的数据进行处理,把jsonp格式的数据处理成json格式的数据
  if (typeof datas === 'string') {            
    // 返回的是jsonp类型的数据,所以要用正则表达式来匹配截取json数据
    const reg = /^\w+\((\{[^()]+\})\)$/
    const matches = datas.match(reg)
    // matches匹配到的是数组,数组第一个是所有正则表达式匹配的字符串,第二个是第一个小括号匹配到的字符串
    if (matches) {
      jsonData = JSON.parse(matches[1])
    }
  }
  return jsonData
}
const data = jsonpToJson('jsonp({ "a": "1234", "b": 9999 })')
console.log(data)

最终得到的jsonData就是json格式了,如:{"a":"1234","b":9999}

  • 5
    点赞
  • 5
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:创作都市 设计师:CSDN官方博客 返回首页
评论

打赏作者

winne雪

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值