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

    作者:孔子梦周公更新于: 2020-03-25 22:37:54

    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|null;

      readonlybodyUsed:boolean;

      arrayBuffer():Promise;

      blob():Promise;

      formData():Promise;

      json():Promise;

      text():Promise;

      }

      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将数组转化为字符串。

课课家教育

未登录