欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決JSON.parse轉(zhuǎn)化不規(guī)范json字符串的問題

 更新時間:2022年09月29日 09:03:21   作者:晴空排云  
這篇文章主要介紹了解決JSON.parse轉(zhuǎn)化不規(guī)范json字符串的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

JSON.parse轉(zhuǎn)化不規(guī)范json字符串問題

JSON.parse可以將一個json字符串轉(zhuǎn)化為一個json對象。但是該方法對json字符串的格式要求比較嚴格,如果json字符串不太規(guī)范,轉(zhuǎn)化就會報錯。常見錯誤有兩種:

1 json字符串中的key值沒有帶引號

key值不帶引號的json字符串無法使用該方法轉(zhuǎn)化,如下:

{
	a:1
}

轉(zhuǎn)化報錯如下:


2 json字符串中的key值帶的單引號

如果json字符串中的key值帶的是單引號,也無法轉(zhuǎn)化,報錯相同,如下:

{
	'a':1
}

3 規(guī)范的json字符串格式

json字符串中所有的key值必須用雙引號包裹才能正常轉(zhuǎn)化為json對象。 如下:

{
	"a":1,
	"b":"string",
	"c":[1,2,3]
}

4 不規(guī)范json字符串的轉(zhuǎn)化方法

前提是,保證json字符串?dāng)?shù)據(jù)是正確的,只不過是key沒有用雙引號包圍,像上面提到的兩點。然后可以使用eval函數(shù)進行轉(zhuǎn)化,如下:

eval("({a:1})")
eval("({'a':1})")


字符串轉(zhuǎn)json(JSON.parse報錯)

后端返回字符串類型的數(shù)組對象格式,js不能使用JSON.parse直接轉(zhuǎn),否則會報錯

問題

字符串格式不是很完美,導(dǎo)致JSON.parse轉(zhuǎn)換失敗。JSON.parse()方法對字符串的格式要求極其嚴格。一點格式錯誤都不能有,否則就報異常。

解決方法(此方法可解析不規(guī)范格式)

let str = "[{sec: 1, result: '123'}]"
 let arr = eval('(' + val + ')')
 console.log(arr)//[{sec: 1, result: '123'}] 此時已轉(zhuǎn)化為json格式
類型$parseJSON(需配合jquery使用)JSON.parseeval
方法說明jquery的方法。將符合標準格式的的JSON字符串轉(zhuǎn)為與之對應(yīng)的JavaScript對象只能解析屬性名是雙引號包裹的字符串對象可將一個JavaScript代碼字符串求值成特定的對象
主要區(qū)別字符串必須用雙引號括起來必須嚴格遵守json字符串格式;屬性名稱必須用雙引號包裹;字符串必須用雙引號括起來。
使用場景能用JSON.parse的都可以用這個json字符串必須嚴格符合json格式??梢杂迷诤蠖藗鬟f給前端數(shù)據(jù)格式的使用使用。對數(shù)據(jù)的嚴謹性可以格式不規(guī)范的時候,當(dāng)你不能確認對方的數(shù)據(jù)格式是不是很嚴謹?shù)臅r候

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論