亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JSON.parse處理非標(biāo)準(zhǔn)Json數(shù)據(jù)出錯的解決

 更新時間:2022年09月29日 08:50:24   作者:興趣使然的碼仔  
這篇文章主要介紹了JSON.parse處理非標(biāo)準(zhǔn)Json數(shù)據(jù)出錯的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

JSON.parse處理非標(biāo)準(zhǔn)Json數(shù)據(jù)出錯

標(biāo)準(zhǔn)json格式

通常我們在編碼中使用的object是類似于下面這種:

let object = {
?? ?key1: 'value1',
?? ?key2: 'value2',
?? ?...
}

這樣的對象在代碼中鍵是不需要用引號括起來的。但是標(biāo)準(zhǔn)Json的格式應(yīng)該是如下:

{
?? ?"key1": "value1",
?? ?"key2": "value2",
?? ?...
}

鍵值都需要用雙引號括起來(不能用單引號)。

有時候后臺傳給前臺的數(shù)據(jù)被轉(zhuǎn)成了字符串形式,并且是各種不標(biāo)準(zhǔn)的json格式,這時候js中使用JSON.parse會報(bào)錯。

解決方法

可以使用強(qiáng)大的eval()函數(shù) 處理非標(biāo)準(zhǔn)json,使用方式如下:

json_string = "{key1: 'value1', key2: 'value2',}";
let json_data = eval('(' + json_string + ')');

eval主要是js的解析器封裝函數(shù),功能非常強(qiáng)大

JSON.parse報(bào)錯分析

1.報(bào)錯提示:

Uncaught SyntaxError: Unexpected token N in JSON at position 0

JSON.parse(NaN)
JSON.parse('NaN')

2.報(bào)錯提示:

Uncaught SyntaxError: Unexpected token u in JSON at position 0

JSON.parse(undefind)
JSON.parse('undefind')

3.報(bào)錯提示:

Uncaught SyntaxError: Unexpected token o in JSON at position 1

JSON.parse({a:2})

4.報(bào)錯提示:

Uncaught SyntaxError: Unexpected token a in JSON at position 1

JSON.parse('{a:2}')

5.報(bào)錯提示:

Unexpected token ' in JSON at position 1

JSON.parse("{'a':11}")

6.正確格式:

JSON.parse('{"a":11}'

**關(guān)于 JSON.parse

JSON.parse 用于解析 JSON 字符串,并返回相應(yīng)的值,其參數(shù)必須符合 JSON 字符串的格式,否則就會報(bào)錯。

JSON 是一種語法,用來序列化對象、數(shù)組、數(shù)值、字符串、布爾值和 null。

JSON 對象和數(shù)組的屬性名必須是雙引號括起來的字符串,并且最后一個屬性后不能有逗號。

JSON 字符串也要用雙引號括起來。

JSON 數(shù)值禁止出現(xiàn)前導(dǎo)零(JSON.stringify方法自動忽略前導(dǎo)零,而在 JSON.parse方法中將會報(bào)錯);如果有小數(shù)點(diǎn),則后面至少跟著一位數(shù)字。

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

相關(guān)文章

最新評論