基于OpenLayers的WebGIS程序二次开发实例教程
35220 人在学
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将数组转化为字符串。