下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

web前端:使用fetch进行数据请求时报json错误

作者:孔子梦周公     来源: https://www.cnblogs.com/confucius-dream-zhougong/p/12166250.点击数:1913发布时间: 2020-03-26 13:29:51

标签: 编程语言fetchjson

Web开发

  JSON是DouglasCrockford在2001年开始推广使用的数据格式,在2005年-2006年正式成为主流的数据格式,雅虎和谷歌就在那时候开始广泛地使用JSON格式。

  使用fetch进行数据请求时报json错误

  使用fetch进行数据请求返回response对象,response.json报错。原因是response中含有特殊字符。

  fetch(url).then(response=>response.json())

  .then(data=>console.log(data))

  .catch(e=>console.log("OoPS,error",e))

  取消response.json()调用,使用response.text()返回请求数据的字符串,对特殊字符进行转义替换处理后,再进行json对象化传入请求成功的回调函数中。transSpecialChar是对字符串处理的函数

  interfaceBody{

  readonlybody:ReadableStream<Uint8Array>|null;

  readonlybodyUsed:boolean;

  arrayBuffer():Promise<ArrayBuffer>;

  blob():Promise<Blob>;

  formData():Promise<FormData>;

  json():Promise<any>;

  text():Promise<string>;

  }

  response.text().then((text)=>{

  constjson=JSON.parse(this.transSpecialChar(text));

  successCallBack(json);

  }

  要实现从JSON字符串转换为JS对象,使用JSON.parse()方法:

  要实现从JS对象转换为JSON字符串,使用JSON.stringify()方法:

  简单地说,JSON可以将Javascript对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式,例如在php中,可以将JSON还原为数组或者一个基本对象。在用到AJAX时,如果需要用到数组传值,这时就需要用JSON将数组转化为字符串。

赞(10)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程