JSON.parse 转换字符串样式的数组

当后端返回的数组或对象以字符串形式提供时,前端需要使用JSON.parse将其转化为可用的JSON格式。注意,JSON.parse要求输入的字符串严格遵循JSON规范,即key必须由双引号包围。错误的格式会导致解析失败,例如未转义的内部双引号。为解决这个问题,需要正确转义字符串中的双引号。
摘要由CSDN通过智能技术生成

有时候后端返回的数据中有数组或对象的结构,却仍然以字符串的形式返回给前端;

let data = {
	records: [
		{
			"id": "1",
			"info": '[{"name":"张三","age":60},{"name":"李四","age":80}]'
		},
		{
			"id": "2",
			"info": '[{"name":"王五","age":90},{"name":"郑六","age":100}]'
		}
	]
}
data.records.forEach(element => {
	for(let i = 0, len = element.info.length; i < len; i++) {
		console.log(element.info[i].name) // undefined
	}
})

如上面代码中的info属性值就是一个字符串类型,前端拿到后是不能直接使用的,需要用 JSON.parse 转化一下 

data.records.forEach(element => {
	element.info = JSON.parse(element.info)
	for(let i = 0, len = element.info.length; i < len; i++) {
		console.log(element.info[i].name) //张三 李四 王五 郑六
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值