當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
JSON.parse 解析json字符串时,遇换行符报错
生活随笔
收集整理的這篇文章主要介紹了
JSON.parse 解析json字符串时,遇换行符报错
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Json字符串轉(zhuǎn)換成Json對(duì)象時(shí)候,有兩種方式:
假設(shè)d是json字符串:
1,eval('(' + d + ')')。
2,JSON.parse(d);
但是以上方式有隱患,如果Json字符串有換行的話,這樣轉(zhuǎn)換就會(huì)報(bào)錯(cuò)。
假如有這樣一個(gè)字符串:
var json='{"CityName":"西安","CityOrder":"物料::WAA010001\n物料名稱::軸承\(zhòng)n規(guī)格型號(hào)::HRB1209\n供應(yīng)商::東莞市耀光化工貿(mào)易有限公司\n采購(gòu)員::\n請(qǐng)購(gòu)部門:: \n批號(hào)::JH201803250001"}';輸出是這樣:
轉(zhuǎn)換的時(shí)候報(bào)錯(cuò):
錯(cuò)誤原因:JSON.parse轉(zhuǎn)json字符串時(shí)遇到一些特殊字符需要先轉(zhuǎn)義。
用str.replace(/\n/g,"\\n")轉(zhuǎn)義,'\\'轉(zhuǎn)成單個(gè)'\','\\n'轉(zhuǎn)成'\n',最后轉(zhuǎn)成'\\n'這樣就可以用parse轉(zhuǎn)成對(duì)象時(shí)變?yōu)?#39;\n',取出的字符串設(shè)置到html文本中\(zhòng)n被解析為換行。
可以這樣轉(zhuǎn)義:.replace(/\n/g,"\\n").replace(/\r/g,"\\r")。
如下:
var jsonObj=JSON.parse(json.replace(/\n/g,"\\n").replace(/\r/g,"\\r"));總結(jié)
以上是生活随笔為你收集整理的JSON.parse 解析json字符串时,遇换行符报错的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中如何进行开方和求一个数的几次方;
- 下一篇: Mirantis OpenStack f