075_JSON.parse()
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()相关推荐
- AngularJS $eval $parse
$eval $parse都可以解析或计算Angular表达式的值. 一.$parse 是一个独立的可以注入的服务,注入就可以使用,它返回一个函数,我们需要显式将表达式求值的上下文传递给该函数.$par ...
- Go 学习笔记(47)— Go 标准库之 strconv(string/int 互相转换、Parse 字符串转换为指定类型、Format 指定类型格式化为字符串)
参考: http://c.biancheng.net/view/5112.html 在实际开发中我们往往需要对一些常用的数据类型进行转换,如 string . int . int64 . float ...
- 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 ...
- (int),Int32.Parse() 和 Convert.toInt32() 的区别
在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...
- JSON.parse解析特殊字符报错解决方案
2019独角兽企业重金招聘Python工程师标准>>> 具体案例: 页面点击"下一任务" 会去请求后台,这里出现的问题是有虚拟任务的时候.然后会返回一个map,也 ...
- Nutch 二次开发之parse正文内容
关于nutch的基础知识能够參考lemo的专栏 nutch支持二次开发,为了满足搜索的准确率的问题,考虑只将网页正文的内容提取出来作为索引的内容,相应的是parse_text的数据.我使用的事nutc ...
- JSON.parse 函数应用 (复制备忘)
JSON.parse 函数 JSON.parse 函数 (JavaScript) 将 JavaScript 对象表示法 (JSON) 字符串转换为对象. 语法 JSON.parse(text [, r ...
- pandas使用read_csv函数读取文件并解析日期数据列(parse dates)、pandas使用read_csv函数读取文件并将缺失值转化为空字符串
pandas使用read_csv函数读取文件并解析日期数据列(parse dates).pandas使用read_csv函数读取文件并将缺失值转化为空字符串 目录
- R语言parse函数、deparse函数、expression函数实现字符串和表达式的转换实战
R语言parse函数.deparse函数.expression函数实现字符串和表达式的转换实战 目录 R语言parse函数.deparse函数.expression函数实现字符串和表达式的转换实战
最新文章
- UIActivityViewController使用
- /proc/meminfo详解 = /nmon analysis --MEM
- 《系统集成项目管理工程师》必背100个知识点-99云计算
- ionic上拉加载-下拉刷新
- 软件工程结构化建模的方法和工具_软件工程系列-结构化设计方法2
- goalnd 分支合并完出现两个箭头
- Clojure 1.8提升了性能和开发体验
- Docker 视频教程 ( 猿课 )
- 收藏+下载!Flink 社区 2021 最新最全学习渠道汇总
- {黑科技}哔哩哔哩视频三倍速播放
- Java面向对象总结篇
- 了解嵌入式软件开发周期
- movie制作的电影站wordpress视频主题
- [乡土民间故事_徐苟三传奇]第六回_放牛伢妙计订合同
- 如何在html页面集成markdown编辑器
- 【实战】疾病-基因与图神经网络和图自动编码器的相互作用
- 离散数学 (上)小结
- 参考文献格式字号字体_字体字号格式要求
- 5G智慧合杆的城市商业区应用
- 日语基础复习 Day 4