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解析与序列化相关推荐

  1. Java下利用Jackson进行JSON解析和序列化

    Java下利用Jackson进行JSON解析和序列化 转载于:https://www.cnblogs.com/jing1617/p/7009122.html

  2. C#开发笔记之19-如何用C#实现优雅的Json解析(序列化/反序列化)方案?

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#开发笔记之19-如何用C#实现优雅的Json解析(序列化/反序列化)方案? | .Net中文网. C#开发笔记概述 另外可参考文章 ...

  3. 江在川上曰:js中的JSON解析和序列化

    江在川上曰:js中的JSON解析和序列化 JSON解析和序列化 JSON是javascript的一个严格的子集,利用了javacript中的一些模式来表示结构化数据.他只是一种数据格式,并非一种编程语 ...

  4. Lua JSON 解析与序列化

    Lua JSON 解析与序列化 原创文章,转载请注明出处:Lua JSON 解析与序列化 源码在最后面 接口 JSON.toString(data, space, toArray) data : an ...

  5. C++中json解析开源库收集,支持json5

    文章目录 zpl-c 库 HJSON cJSON RapidJSON (推荐) DAW JSON Link v2 JSON ,这库稳定,文档齐全.(推荐) json-c (c实现) json_dto ...

  6. iOS之苹果自带的json解析NSJSONSerialization(序列化)

    NSJSONSerialization介绍: NSJSONSerialization提供了将JSON数据转换为Foundation对象(一般都是NSDictionary和NSArray)和Founda ...

  7. python json dumps 自定义_Python json.dumps 自定义序列化操作

    def login_ajax(request): if request.method == "GET": return render(request, 'login_ajax.ht ...

  8. Json解析不允许子类父类变量重名的原因

    之前项目中遇到过当Json遇到子类和父类有同样的变量的时候会直接报错,类似这样. Caused by: java.lang.IllegalArgumentException: class com.bj ...

  9. gson解析天气json_几种常用JSON解析库性能比较

    PS:公众号推文时间工作日早晨8点50分,周末下午3点30分,不见不散哈! 作者:飞污熊 xncoding.com/2018/01/09/java/jsons.html 本篇通过JMH来测试一下Jav ...

  10. python3 json解析_Python3 JSON编码解码方法详解

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数 ...

最新文章

  1. ASP.NET中树形图的实现
  2. [Warning] TIMESTAMP with implicit DEFAULT value is
  3. 龙邱 MPU9250 模块接口 | 基于ESP32模块
  4. 模板网站建设究竟有哪些优势?
  5. udp怎么保证不丢包_在 Flink 算子中使用多线程如何保证不丢数据?
  6. go-elasticsearch: Elastic官方的Go语言客户端
  7. 使用mysql遇到的异常
  8. FFmpeg的模块介绍(一)
  9. ARMv8的OP-TEE源代码的获取和编译
  10. 2021年4大免费ER图工具
  11. Sketch 52 破解版 最佳Mac产品原型设计工具
  12. WiFi 2.4G和5G国家及信道分布
  13. 社区价值:福山论自组织、社区、社会资本
  14. 如何把像素修改为300dpi?
  15. 热浪(单源最短路问题)
  16. android的热修复,Android热修复之
  17. idea-debugger调试模式
  18. SLF4J中的桥接器与源码剖析
  19. 一文带你读懂 Promise
  20. 如何在客户端连接MySQL服务呢???

热门文章

  1. Xshell连接centOS7与CentOS7联网——一步到位
  2. 搜索数据android ui,搜索概览  |  Android 开发者  |  Android Developers
  3. python list倒序_python数据分析(1):内建序列函数
  4. bootstrap datetimepicker 初始化及取值
  5. php mac windows,苹果电脑是windows系统吗
  6. 比较好的电脑系统_如何重装平板电脑系统?各种Windows系统平板win8升级win10方法...
  7. 来自一个从事单片机工作中遇到的真人真事,单片机从业者可以借鉴
  8. 面试题--------4、数据类型
  9. vue 第六天(条件判断)
  10. 【渝粤教育】国家开放大学2018年秋季 0716-21T工程建设法规 参考试题