json解析与序列化
JSON是什么
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于javascript的一个子集。数据格式简单, 易于读写, 占用带宽小。是前后台数据交互最常见的一种数据格式。
存储和交换文本信息的语法。
数据格式:简单值 、 对象 、数组
JSON对象语法特点:没有变量声明,没有末尾的分号、属性名加双引号
JavaScript字符串与JSON字符串的最大区别在于:JSON字符串必须使用双引号(单引号会导致语法错误)。
解析:把JSON字符串数据结构解析为原生JavaScript对象值。 常用方法:eval()方法 eval('('+ str +')') 、 解析JSON.parse()
序列化:把JavaScript对象值序列化为JSON字符串 常用方法:JSON.stringify()
1 //javascript对象 2 var book = { 3 title: "JavaScript", 4 authors: [ 5 "Mr.Guo", 6 "Mrs.An", 7 ], 8 edition: 1, 9 year: 2015 10 }; 11 //序列化 JSON.stringify() 12 //js对象转化为JSON字符串 13 var jsonText = JSON.stringify(book); 14 var jsonText1 = JSON.stringify(book, ["title", "year"],4); //过滤器 + 缩进 15 console.log(jsonText); //{"title":"JavaScript","authors":["Mr.Guo","Mrs.An"],"edition":1,"year":2015} 16 console.log(jsonText1); 17 // {18 // "title": "JavaScript", 19 // "year": 2015 20 // } 21 22 23 //javsccrpt数组,数组可以包含对象 24 var array = [1,2,3,4,{ 25 title: "JavaScript", 26 authors: [ 27 "Mr.Guo", 28 "Mrs.An", 29 ], 30 edition: 1, 31 year: 2015 32 }]; 33 //序列化,js数组转化为JSON字符串 34 var jsonArray = JSON.stringify(array); 35 console.log(jsonArray); 36 //[1,2,3,4,{"title":"JavaScript","authors":["Mr.Guo","Mrs.An"],"edition":1,"year":2015}] 37 38 39 //解析JSON.parse() 40 //JSON字符串转化为javascript对象 41 var jsObj = JSON.parse(jsonArray); 42 var jsObj1 = JSON.parse(jsonText); 43 console.log(jsObj); 44 // [ 1, 45 // 2, 46 // 3, 47 // 4, 48 // { title: 'JavaScript', 49 // authors: [ 'Mr.Guo', 'Mrs.An' ], 50 // edition: 1, 51 // year: 2015 } ] 52 console.log(jsObj1); 53 // { title: 'JavaScript', 54 // authors: [ 'Mr.Guo', 'Mrs.An' ], 55 // edition: 1, 56 // year: 2015 } 57 58 //JSON字符串转化为javascript对象 59 //eval()方法 eval('('+ str +')') 60 var jsObj2 = eval('('+ jsonArray +')'); 61 console.log(jsObj2); 62 // [ 1, 63 // 2, 64 // 3, 65 // 4, 66 // { title: 'JavaScript', 67 // authors: [ 'Mr.Guo', 'Mrs.An' ], 68 // edition: 1, 69 // year: 2015 } ]
转载于:https://www.cnblogs.com/guorange/p/7154088.html
json解析与序列化相关推荐
- Java下利用Jackson进行JSON解析和序列化
Java下利用Jackson进行JSON解析和序列化 转载于:https://www.cnblogs.com/jing1617/p/7009122.html
- C#开发笔记之19-如何用C#实现优雅的Json解析(序列化/反序列化)方案?
本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#开发笔记之19-如何用C#实现优雅的Json解析(序列化/反序列化)方案? | .Net中文网. C#开发笔记概述 另外可参考文章 ...
- 江在川上曰:js中的JSON解析和序列化
江在川上曰:js中的JSON解析和序列化 JSON解析和序列化 JSON是javascript的一个严格的子集,利用了javacript中的一些模式来表示结构化数据.他只是一种数据格式,并非一种编程语 ...
- Lua JSON 解析与序列化
Lua JSON 解析与序列化 原创文章,转载请注明出处:Lua JSON 解析与序列化 源码在最后面 接口 JSON.toString(data, space, toArray) data : an ...
- C++中json解析开源库收集,支持json5
文章目录 zpl-c 库 HJSON cJSON RapidJSON (推荐) DAW JSON Link v2 JSON ,这库稳定,文档齐全.(推荐) json-c (c实现) json_dto ...
- iOS之苹果自带的json解析NSJSONSerialization(序列化)
NSJSONSerialization介绍: NSJSONSerialization提供了将JSON数据转换为Foundation对象(一般都是NSDictionary和NSArray)和Founda ...
- python json dumps 自定义_Python json.dumps 自定义序列化操作
def login_ajax(request): if request.method == "GET": return render(request, 'login_ajax.ht ...
- Json解析不允许子类父类变量重名的原因
之前项目中遇到过当Json遇到子类和父类有同样的变量的时候会直接报错,类似这样. Caused by: java.lang.IllegalArgumentException: class com.bj ...
- gson解析天气json_几种常用JSON解析库性能比较
PS:公众号推文时间工作日早晨8点50分,周末下午3点30分,不见不散哈! 作者:飞污熊 xncoding.com/2018/01/09/java/jsons.html 本篇通过JMH来测试一下Jav ...
- python3 json解析_Python3 JSON编码解码方法详解
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数 ...
最新文章
- ASP.NET中树形图的实现
- [Warning] TIMESTAMP with implicit DEFAULT value is
- 龙邱 MPU9250 模块接口 | 基于ESP32模块
- 模板网站建设究竟有哪些优势?
- udp怎么保证不丢包_在 Flink 算子中使用多线程如何保证不丢数据?
- go-elasticsearch: Elastic官方的Go语言客户端
- 使用mysql遇到的异常
- FFmpeg的模块介绍(一)
- ARMv8的OP-TEE源代码的获取和编译
- 2021年4大免费ER图工具
- Sketch 52 破解版 最佳Mac产品原型设计工具
- WiFi 2.4G和5G国家及信道分布
- 社区价值:福山论自组织、社区、社会资本
- 如何把像素修改为300dpi?
- 热浪(单源最短路问题)
- android的热修复,Android热修复之
- idea-debugger调试模式
- SLF4J中的桥接器与源码剖析
- 一文带你读懂 Promise
- 如何在客户端连接MySQL服务呢???
热门文章
- Xshell连接centOS7与CentOS7联网——一步到位
- 搜索数据android ui,搜索概览 | Android 开发者 | Android Developers
- python list倒序_python数据分析(1):内建序列函数
- bootstrap datetimepicker 初始化及取值
- php mac windows,苹果电脑是windows系统吗
- 比较好的电脑系统_如何重装平板电脑系统?各种Windows系统平板win8升级win10方法...
- 来自一个从事单片机工作中遇到的真人真事,单片机从业者可以借鉴
- 面试题--------4、数据类型
- vue 第六天(条件判断)
- 【渝粤教育】国家开放大学2018年秋季 0716-21T工程建设法规 参考试题