微信小程序 后端返回数据为字符串怎么解析为json格式呢?

微信小程序 后端返回数据为字符串怎么解析为json格式呢?

在微信小程序中,用wx.uploadFile{}上传服务器文件,成功后返回的是没有转码的json数据格式,而且是字符串类型。想要判断返回的数据这时候需要把之转换为对象,直接用JSON.prase(string)会报错,所以就总结了一下自己实现的方法。

 

1、首先说一个错误的方法:使用eval()

在浏览器控制台测试没问题就直接复制到了项目中,下午整理代码测试的时候发现出错了。
错误提示: TypeError: eval id not funtion
主要原因是微信小程序不支持 eval 这个方法,所以肯定不能使用这个了,那么就要另辟蹊径了,下面就整理一份可行的方案, 亲测可用。

 

2、正确的方案

wx.uploadFile({
	url: 'API',   //上传的路径
	filePath: tempFilePaths, //刚刚在data保存的文件路径
	name: 'file',   //后台获取的凭据
	formData:{
		"userId": 1,
		"fileName": filename
	},
	success(res) { 
		console.log(res.data)
		let str = res.data
		let str1 = str.replace(/\ufeff/g,"") // step1: 首先去掉两头的"",
		let data = JSON.parse(str1) // step2: 转换成JSON格式的数据
		if(data.code != "00000"){
			_that.$uniApi.tipMsg(data.msg)
			return
		}
	}
})
主要的代码就是
let str = res.data

// step1: 首先去掉两头的"",
let str1 = str.replace(/\ufeff/g,"") 

// step2: 转换成JSON格式的数据
let data = JSON.parse(str1)
完成以上两个步骤就可以实现字符串转成JSON格式了!

 

课程推荐:微信小程序学习必备课程

1、 《 uni-app实战直播app全栈开发 》 百度网盘

2、《 Vue3 系统入门与项目实战 完整版 》 百度网盘

3、《 微信小程序入门与实战(全新版)2020版 》 百度网盘

⚠️:当天下载多套可以找客服微信: ITBOKE, 索取优惠价哦

站内部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
赞赏是最好的支持
如果对你有帮助那就支持一下吧
立即赞赏
分享到:
赞(9) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

小月博客-一个专注于分享的技术博客
没有账号? 忘记密码?