后端的数据是放在mock中的,前端html用的是jade模板,在jade中用JSON.string()处理过数据,然后在js中打印出来如下图,typeof类型是string[{"title":"演出时长","desc":"2"},{"title":"入场时间","desc":"这是入场时间"},{"title":"限购说明","desc":"每单限购6张"},{"title":"座位类型","desc":"请按门票对应座位,有序对号入座"},{"title":"儿童入场提示 ","desc":"1.2米以上凭票入场,1.2米以下谢绝入场"},{"title":"禁止携带物品","desc":"食品、饮料、相机、充电宝、打火机等"},{"title":"演出语言","desc":"中文"},{"title":"演出形式","desc":"这是演出形式"},{"title":"其他说明","desc":"这是一段购买须知"},{"title":"实体票","desc":"本项目支持凭实体票入场,支持以下取票方式:
- 快递配送:运费10元(V2及以上会员包邮),顺丰发货。
- 上门自提:前往门店自取,门店店))。
- 现场取票:工作人员将在。
"},{"title":"电子票 ","desc":"本项目支持凭电子票入场。
-现场扫码验票或凭姓名手机号入场(以现场为准);扫码验票流程:打开APP→订单详情→票券详情→现场扫码入场。"}]使用JSON.parse处理的时候报错:请问怎么将该数据转成正常的数组类型?
2 回答
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
因为你的字符串中有换行符导致,只需要将待转换的字符串中 的\n
替换为\\n
,为了兼容windows,也把\r
替换为\\r
.
最终: JSON.parse(yourstring.replace('\n','\\n').replace('\r','\\r'))
largeQ
TA贡献2039条经验 获得超7个赞
你提供的json字符串不是一个有效的json字符串。
用下面的看看:
var json = '[{ "title": "演出时长", "desc": "2" }, { "title": "入场时间", "desc": "这是入场时间" }, { "title": "限购说明", "desc": "每单限购6张" }, { "title": "座位类型", "desc": "请按门票对应座位,有序对号入座" }, { "title": "儿童入场提示 ", "desc": "1.2米以上凭票入场,1.2米以下谢绝入场" }, { "title": "禁止携带物品", "desc": "食品、饮料、相机、充电宝、打火机等" }, { "title": "演出语言", "desc": "中文" }, { "title": "演出形式", "desc": "这是演出形式" }, { "title": "其他说明", "desc": "这是一段购买须知" }, { "title": "实体票", "desc": "本项目支持凭实体票入场,支持以下取票方式: -快递配送: 运费10元(V2及以上会员包邮), 顺丰发货。 -上门自提: 前往门店自取, 门店店))。 -现场取票: 工作人员将在。" }, { "title ": "电子票 ", "desc ": "本项目支持凭电子票入场。 -现场扫码验票或凭姓名手机号入场( 以现场为准); 扫码验票流程: 打开APP→ 订单详情→ 票券详情→ 现场扫码入场。 " }]';var obj = JSON.parse(json); console.log(obj[0].title);
添加回答
举报
0/150
提交
取消