JavaScript中JSON.parse()的用法示例

这篇文章将为大家详细讲解有关JavaScript中JSON.parse()的用法示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联建站是一家专注于成都做网站、成都网站设计与策划设计,牧野网站建设哪家好?创新互联建站做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:牧野等地区。牧野做网站价格咨询:18980820575

JavaScript中 JSON.parse() 使用详解

JSON.parse('{}') // {}

JSON.parse('true') // true

JSON.parse('null') // null

JSON.parse 语法

JSON.parse(text[, reviver])

text:要被解析成的字符串。

如果传入数字则会转换成十进制数字输出。

如果传入布尔值则直接输出。

如果传入null则输出null。

不支持其他类型的值,否则报错。

reviver: 可选,转换器, 可以用来修改解析生成的原始值。

返回值: JavaScript对象/值, 对应给定JSON文本的对象/值。

reviver 参数

reviver函数,用于转换处理解析到的JavaScript值,处理完后返回最终的结果。

转换过程:

解析的值本身和它可能包含的所有属性,按照一定遍历顺序分别调用reviver函数,属性名和值作为参数两个参数 key 和 value 传入。

遍历顺序:按照层级,从内往外遍历,最终到达最顶层,则是解析值本身。

reviver返回undefined,则删除该对象,如果返回了其他值,则该值会成为当前属性的新值。

当遍历到最顶层时,因为没有属性了,参数key是空字符串'',参数value则是当前解析值。

对于reviver函数的两个参数 key 和 value,不同的数据类型:

基本值类型数据(string、number、boolean)和null,以及空对象{}和空数组[]:

则key是空字符串,value是对应解析值。

因为已经是最顶层,并没有别的属性。

Object对象:

则key和value都存在,与属性名和值各自对应。

最顶层会返回一个参数key为空的值。

数组:

key对应数组索引,value对应元素值。

最顶层会返回一个参数key为空的值。

基本类型的转换:

JSON.parse('5', function (key, value) {

  console.log(`key:${key}, value:${value}`)

})

// key:, value:5

JSON.parse('null', function (key, value) {

  console.log(`key:${key}, value:${value}`)

})

// key:, value:null

JSON.parse('{}', function (key, value) {

  console.log(`key:${key}, value:`, value)

})

// key:, value:{}

Object对象和数组:

JSON.parse('[1, 2]', function (key, value) {

  console.log(`key:${key}, value:`, value)

})

// key:0, value: 1

// key:1, value: 2

// key:, value: (2) [empty × 2]

JSON.parse('{ "user": "张三", "info": { "age": 25, "sex": 1 } }', function (key, value) {

  console.log(`key:${key}, value::`, value)

})

// key:user, value:: 张三

// key:age, value:: 25

// key:sex, value:: 1

// key:info, value:: {}

// key:, value:: {}

数据处理:

JSON.parse('[1, 2]', function (key, value) {

  if(key === '') {

    return value

  }

  return value + 3

})

// [4, 5]

关于“JavaScript中JSON.parse()的用法示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


当前题目:JavaScript中JSON.parse()的用法示例
链接分享:http://csdahua.cn/article/ijcjdi.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流