温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript中的JSON.parse()怎么用

发布时间:2022-03-05 11:16:52 来源:亿速云 阅读:119 作者:小新 栏目:web开发

小编给大家分享一下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()怎么用”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI