为了账号安全,请及时绑定邮箱和手机立即绑定

String类型的数组,如何解析成正常的数组类型?

String类型的数组,如何解析成正常的数组类型?

尚方宝剑之说 2018-08-03 19:16:11
后端的数据是放在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'))

查看完整回答
反对 回复 2018-08-05
?
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);


查看完整回答
反对 回复 2018-08-05
  • 2 回答
  • 0 关注
  • 1610 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信