1. JSON的常规用途是同web服务器进行数据传输。

2. 在从web服务器接收数据时, 数据永远是字符串。

3. 通过JSON.parse()解析数据, 这些数据会成为JavaScript对象。

4. 实例 – 解析 JSON

4.1. 请想象一下我们从web服务器接收到这段文本:

'{"name": "华为p40", "price": 5999, "color": ["黑色", "白色", "蓝色"], "baseInfo": {"machineLength": "148.9mm", "machineThickness": "71.06mm"}}''["华为手机", "小米手机", "vivo手机", "oppo手机", "魅族手机"]'

4.2. 请使用JavaScript函数JSON.parse()把文本转换为JavaScript对象:

var mobile = '{"name": "华为p40", "price": 5999, "color": ["黑色", "白色", "蓝色"], "baseInfo": {"machineLength": "148.9mm", "machineThickness": "71.06mm"}}';var mobileArr = '["华为手机", "小米手机", "vivo手机", "oppo手机", "魅族手机"]';

5. 解析日期

5.1. JSON中不允许日期对象。

5.2. 如果您需要包含日期, 请写为字符串, 之后您可以将其转换回日期对象。

5.3. 可以已使用JSON.parse()函数的第二个参数, 被称为reviver。这个reviver参数是函数, 在返回值之前, 它会检查每个属性。

var computer = '{"name": "联想电脑", "date": "2021-10-10 23:00:01"}';
var computerObj = JSON.parse(computer, function(key, value){if(key == "date"){return new Date(value).toLocaleString();}else{return value;}
});

6. 例子

6.1. 代码

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>JSON.parse()</title></head><body><script type="text/javascript">function bianLi(obj) {for(let key in obj) {if(obj[key] instanceof Object && !(obj[key] instanceof Array)){bianLi(obj[key]);continue;}document.write(key + ': ' + obj[key] + '<br />');}}var mobile = '{"name": "华为p40", "price": 5999, "color": ["黑色", "白色", "蓝色"], "baseInfo": {"machineLength": "148.9mm", "machineThickness": "71.06mm"}}';var mobileObj = JSON.parse(mobile);bianLi(mobileObj);var mobileArr = '["华为手机", "小米手机", "vivo手机", "oppo手机", "魅族手机"]';var mobileArrObj = JSON.parse(mobileArr);for(let key in mobileArrObj) {document.write(mobileArrObj[key] + '<br />');}var computer = '{"name": "联想电脑", "date": "2021-10-10 23:00:01"}';var computerObj = JSON.parse(computer, function(key, value){if(key == "date"){return new Date(value).toLocaleString();}else{return value;}});bianLi(computerObj);</script></body>
</html>

6.2. 效果图

075_JSON.parse()相关推荐

  1. AngularJS $eval $parse

    $eval $parse都可以解析或计算Angular表达式的值. 一.$parse 是一个独立的可以注入的服务,注入就可以使用,它返回一个函数,我们需要显式将表达式求值的上下文传递给该函数.$par ...

  2. Go 学习笔记(47)— Go 标准库之 strconv(string/int 互相转换、Parse 字符串转换为指定类型、Format 指定类型格式化为字符串)

    参考: http://c.biancheng.net/view/5112.html 在实际开发中我们往往需要对一些常用的数据类型进行转换,如 string . int . int64 . float ...

  3. Go 中 time.Parse 报错:year/month/day hour/minute/second out of range 时间格式化为什么是 2006-01-02 15:04:05?

    1. 问题现象 在使用 Go 语言的 time.Parse 解析时间时遇到以下错误: func main() {timeParse, err := time.Parse("2006-11-0 ...

  4. (int),Int32.Parse() 和 Convert.toInt32() 的区别

    在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...

  5. JSON.parse解析特殊字符报错解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 具体案例: 页面点击"下一任务" 会去请求后台,这里出现的问题是有虚拟任务的时候.然后会返回一个map,也 ...

  6. Nutch 二次开发之parse正文内容

    关于nutch的基础知识能够參考lemo的专栏 nutch支持二次开发,为了满足搜索的准确率的问题,考虑只将网页正文的内容提取出来作为索引的内容,相应的是parse_text的数据.我使用的事nutc ...

  7. JSON.parse 函数应用 (复制备忘)

    JSON.parse 函数 JSON.parse 函数 (JavaScript) 将 JavaScript 对象表示法 (JSON) 字符串转换为对象. 语法 JSON.parse(text [, r ...

  8. pandas使用read_csv函数读取文件并解析日期数据列(parse dates)、pandas使用read_csv函数读取文件并将缺失值转化为空字符串

    pandas使用read_csv函数读取文件并解析日期数据列(parse dates).pandas使用read_csv函数读取文件并将缺失值转化为空字符串 目录

  9. R语言parse函数、deparse函数、expression函数实现字符串和表达式的转换实战

    R语言parse函数.deparse函数.expression函数实现字符串和表达式的转换实战 目录 R语言parse函数.deparse函数.expression函数实现字符串和表达式的转换实战

最新文章

  1. UIActivityViewController使用
  2. /proc/meminfo详解 = /nmon analysis --MEM
  3. 《系统集成项目管理工程师》必背100个知识点-99云计算
  4. ionic上拉加载-下拉刷新
  5. 软件工程结构化建模的方法和工具_软件工程系列-结构化设计方法2
  6. goalnd 分支合并完出现两个箭头
  7. Clojure 1.8提升了性能和开发体验
  8. Docker 视频教程 ( 猿课 )
  9. 收藏+下载!Flink 社区 2021 最新最全学习渠道汇总
  10. {黑科技}哔哩哔哩视频三倍速播放
  11. Java面向对象总结篇
  12. 了解嵌入式软件开发周期
  13. movie制作的电影站wordpress视频主题
  14. [乡土民间故事_徐苟三传奇]第六回_放牛伢妙计订合同
  15. 如何在html页面集成markdown编辑器
  16. 【实战】疾病-基因与图神经网络和图自动编码器的相互作用
  17. 离散数学 (上)小结
  18. 参考文献格式字号字体_字体字号格式要求
  19. 5G智慧合杆的城市商业区应用
  20. 日语基础复习 Day 4

热门文章

  1. [leetcode]Jump Game
  2. AIX 用户密码永不过期
  3. 简单了解SSL/TLS协议
  4. 修复错误ModuleNotFoundError: No module named ‘pip‘
  5. 两台笔记本如何不走路由而是通过无线网卡互联
  6. centos6.5配置linux dhcp
  7. 分布式锁三种实现方式(DB,redis,zookeeper)比较
  8. 单链表 操作的18种算法
  9. 删除系统Win7系统盘越来越小,系统盘清理技巧
  10. 转代码判断邮箱是否合法