您好,登錄后才能下訂單哦!
小編給大家分享一下JavaScript中的JSON.parse()怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
JavaScript中 JSON.parse() 使用特性
在解析JSON字符串的時候,需要注意到JSON格式的一些規范,不然就容易報錯。
JSON數據對值的類型和格式,都有嚴格的規定,具體的規則如下:
該方法使用字符串類型JSON格式數據。
該方法也支持數字、布爾值和null三個類型的值,轉換出對應的字面值。
不支持其他類型。
JSON.parse('"中國"')
// '中國'
JSON.parse(null) // null
JSON.parse(111.) // 111
JSON.parse(0x12) // 18
JSON.parse(true) // true
JSON.parse([])
// Uncaught SyntaxError: Unexpected end of JSON input
字符串必須使用雙引號,不能使用單引號。
JSON.parse('"String"')
// 'String'
JSON.parse('\'String\'')
// Uncaught SyntaxError: Unexpected token ' in JSON at position 0
只支持十進制的字符串,但小數點后必須跟上數字。
JSON.parse('111') // 111
JSON.parse('0x12')
// Uncaught SyntaxError: Unexpected token x in JSON at position 1
JSON.parse('111.232') // 111.232
JSON.parse('111.')
// Uncaught SyntaxError: Unexpected end of JSON input
不能使用undefined、Symbol和BigInt,數字也不支持NaN、Infinity和-Infinity,都會報錯。
JSON.parse(undefined)
// Uncaught SyntaxError: Unexpected token u in JSON at position 0
JSON.parse(Symbol())
// Uncaught TypeError: Cannot convert a Symbol value to a string
JSON.parse('12n')
// Uncaught SyntaxError: Unexpected token n in JSON at position 2
復合類型,只能是:[] 和 {} 這樣的字面量。
不能使用對象構造函數,因為會當作執行語句,不支持。
不能使用Object和Array,也不能是函數、RegExp對象、Date對象、Error對象等。
JSON.parse('[]')
// []
JSON.parse('Object()')
// Uncaught SyntaxError: Unexpected token O in JSON at position 0
對象的屬性名必須使用雙引號。
JSON.parse('{"key": 1 }')
// {key: 1}
JSON.parse('{key: 1 }')
// Uncaught SyntaxError: Unexpected token k in JSON at position 1
數組或對象最后一個成員的后面,不能加逗號。
JSON.parse('[1, 2, 3, 4, ]')
// VM2771:1 Uncaught SyntaxError: Unexpected token ] in JSON at position 13
JSON.parse('{"key" : 1, }')
// VM2779:1 Uncaught SyntaxError: Unexpected token } in JSON at position 12
支持unicode轉義。
JSON.parse('{"\u0066":333}')
// {f: 333}
部分控制字符、轉義字符不支持,如'\n'、'\t'等。
JSON.parse('"\n"')
// Uncaught SyntaxError: Unexpected token
解析的其他方法
將json字符串轉成json對象(js對象值),還可以使用其他方法,但是非安全代碼。
const str = '{"name":"json","age":18}'
const json = JSON.parse(str)
const json = eval("(" + str + ")")
const json = (new Function("return " + str))()
看完了這篇文章,相信你對“JavaScript中的JSON.parse()怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。