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

JSON.parse處理非標準Json數據出錯的解決

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

JSON.parse處理非標準Json數據出錯

標準json格式

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

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

這樣的對象在代碼中鍵是不需要用引號括起來的。但是標準Json的格式應該是如下:

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

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

有時候后臺傳給前臺的數據被轉成了字符串形式,并且是各種不標準的json格式,這時候js中使用JSON.parse會報錯。

解決方法

可以使用強大的eval()函數 處理非標準json,使用方式如下:

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

eval主要是js的解析器封裝函數,功能非常強大

JSON.parse報錯分析

1.報錯提示:

Uncaught SyntaxError: Unexpected token N in JSON at position 0

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

2.報錯提示:

Uncaught SyntaxError: Unexpected token u in JSON at position 0

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

3.報錯提示:

Uncaught SyntaxError: Unexpected token o in JSON at position 1

JSON.parse({a:2})

4.報錯提示:

Uncaught SyntaxError: Unexpected token a in JSON at position 1

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

5.報錯提示:

Unexpected token ' in JSON at position 1

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

6.正確格式:

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

**關于 JSON.parse

JSON.parse 用于解析 JSON 字符串,并返回相應的值,其參數必須符合 JSON 字符串的格式,否則就會報錯。

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

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

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

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

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

相關文章

最新評論