鍍金池/ 問答/數(shù)據(jù)分析&挖掘  Java  HTML/ String類型的數(shù)組,如何解析成正常的數(shù)組類型?

String類型的數(shù)組,如何解析成正常的數(shù)組類型?

后端的數(shù)據(jù)是放在mock中的,前端html用的是jade模板,在jade中用JSON.string()處理過數(shù)據(jù),然后在js中打印出來如下圖,typeof類型是string

[{"title":"演出時長","desc":"2"},{"title":"入場時間","desc":"這是入場時間"},{"title":"限購說明","desc":"每單限購6張"},{"title":"座位類型","desc":"請按門票對應座位,有序?qū)μ柸胱?},{"title":"兒童入場提示 ","desc":"1.2米以上憑票入場,1.2米以下謝絕入場"},{"title":"禁止攜帶物品","desc":"食品、飲料、相機、充電寶、打火機等"},{"title":"演出語言","desc":"中文"},{"title":"演出形式","desc":"這是演出形式"},{"title":"其他說明","desc":"這是一段購買須知"},{"title":"實體票","desc":"本項目支持憑實體票入場,支持以下取票方式:
- 快遞配送:運費10元(V2及以上會員包郵),順豐發(fā)貨。
- 上門自提:前往門店自取,門店店))。
- 現(xiàn)場取票:工作人員將在。
"},{"title":"電子票 ","desc":"本項目支持憑電子票入場。
-現(xiàn)場掃碼驗票或憑姓名手機號入場(以現(xiàn)場為準);掃碼驗票流程:打開APP→訂單詳情→票券詳情→現(xiàn)場掃碼入場。"}]

使用JSON.parse處理的時候報錯:

clipboard.png

請問怎么將該數(shù)據(jù)轉(zhuǎn)成正常的數(shù)組類型?

回答
編輯回答
荒城

你提供的json字符串不是一個有效的json字符串。

用下面的看看:

var json =  '[{     "title": "演出時長",     "desc": "2" }, {     "title": "入場時間",     "desc": "這是入場時間" }, {     "title": "限購說明",     "desc": "每單限購6張" }, {     "title": "座位類型",     "desc": "請按門票對應座位,有序?qū)μ柸胱? }, {     "title": "兒童入場提示 ",     "desc": "1.2米以上憑票入場,1.2米以下謝絕入場" }, {     "title": "禁止攜帶物品",     "desc": "食品、飲料、相機、充電寶、打火機等" }, {     "title": "演出語言",     "desc": "中文" }, {     "title": "演出形式",     "desc": "這是演出形式" }, {     "title": "其他說明",     "desc": "這是一段購買須知" }, {     "title": "實體票",     "desc": "本項目支持憑實體票入場,支持以下取票方式: -快遞配送: 運費10元(V2及以上會員包郵), 順豐發(fā)貨。 -上門自提: 前往門店自取, 門店店))。 -現(xiàn)場取票: 工作人員將在。" }, {     "title ": "電子票 ",     "desc ": "本項目支持憑電子票入場。 -現(xiàn)場掃碼驗票或憑姓名手機號入場( 以現(xiàn)場為準); 掃碼驗票流程: 打開APP→ 訂單詳情→ 票券詳情→ 現(xiàn)場掃碼入場。 " }]';

var obj = JSON.parse(json);

console.log(obj[0].title);
2018年5月4日 08:06
編輯回答
熊出沒

因為你的字符串中有換行符導致,只需要將待轉(zhuǎn)換的字符串中 的\n替換為\\n,為了兼容windows,也把\r替換為\\r.
最終: JSON.parse(yourstring.replace('\n','\\n').replace('\r','\\r'))

2018年8月28日 03:46
編輯回答
兔寶寶

現(xiàn)在的問題是你mock 的json數(shù)據(jù)有問題
看看是不是mock配置錯誤
[{"name": "10"}] 類似這種name不應該有“”的
如過mock數(shù)據(jù)沒問題直接JSON.parse()就好了

2018年7月4日 14:24