基于JSON数据格式详解


Posted in Javascript onAugust 31, 2017

JSON是行业内使用最为广泛的数据交换格式,在很多场景都有广泛的应用。JSON适用于进行数据交互的场景,典型的是Ajax中实现异步加载;为了支持跨平台、数据安全等的Web Service也可以使用(API接口返回值)。

JSON(JavaScript Object Notation)是一种完全独立于语言的、轻量级的数据交换格式。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON的官方MIME类型是application/json,文件扩展名是 .json。

优点:易于人阅读和编写。同时也易于机器解析和生成。支持众多语言。

JSON建构于两种结构:

· “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

· 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

JSON具有以下这些形式:

Object是一个无序的“‘名称/值'对”集合。一个对象以“{”开始,“}”结束。每个“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间使用“,”分隔。

Array是值(value)的有序集合。一个数组以“[”开始,“]”结束。值之间使用“,”分隔。

值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

基本类型:

string、number、 true、false、 null。

字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

JSON实例

{
 "name":"Python学习者",
 "age":20,
 "course":["Java","Python"],
 "job":null,
 "url":"https://3water.com"
}

JavaScript

<html>
<head>
 <meta charset="utf-8">
 <title>Pyhton学习者-JSON</title>
</head>
<body>
 <p>使用" . "访问JSON对象</p>
 <p id="demo1"></p>
 <p>使用" [] "访问JSON对象</p>
 <p id="demo2"></p>

<script>
 var obj, name, age;
 obj =  {
  "name":"Python学习者",
  "age":20,
  "course":["Java","Python"],
  "job":null,
  "url":"https://3water.com"
 }
 name = obj.name;
 document.getElementById("demo1").innerHTML = name;
 age = obj["age"];
 document.getElementById("demo2").innerHTML = age;
</script>

</body>
</html>

MongoDB

MongoDB是一种常用的NoSQL数据库,它所有的信息都是按照文档保存的,保存的结构就是JSON结构。

db.students.insert({"name" : "张三" , "sex" : "男" , "age" : 18 , "score" : 85 });
db.students.insert({"name" : "李四" , "sex" : "女" , "age" : 21 , "score" : 93 });
db.students.insert({"name" : "王五" , "sex" : "女" , "age" : 19 , "score" : 68 });
db.students.find("name":"张三");

其实JSON结构并不难理解,需要注意的是"key/value"中,key是string类型,要使用 ""(双引号)。

参考资料:

在线代码格式化:http://tool.oschina.net/codeformat/json

JSON官方网站:http://www.json.org/

以上这篇基于JSON数据格式详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 自动完成脚本整理(33个)
Oct 20 Javascript
javascript 日期常用的方法
Nov 11 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 Javascript
Vuejs仿网易云音乐实现听歌及搜索功能
Mar 30 Javascript
angular实现IM聊天图片发送实例
May 08 Javascript
js实现鼠标拖拽多选功能示例
Aug 01 Javascript
three.js实现3D影院的原理的代码分析
Dec 18 Javascript
实现jquery放大镜的两种方法
Feb 22 jQuery
深入理解react 组件类型及使用场景
Mar 07 Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 Javascript
node.js使用express-fileupload中间件实现文件上传
Jul 16 Javascript
vue项目支付功能代码详解
Feb 18 Vue.js
浅谈js中的this问题
Aug 31 #Javascript
js实现图片放大展示效果
Aug 30 #Javascript
详解js几个绕不开的事件兼容写法
Aug 30 #Javascript
JavaScript实现滑动导航栏效果
Aug 30 #Javascript
详解vue-cli 构建Vue项目遇到的坑
Aug 30 #Javascript
前端开发不得不知的10个最佳ES6特性
Aug 30 #Javascript
vue.js的手脚架vue-cli项目搭建的步骤
Aug 30 #Javascript
You might like
php Ajax乱码
2008/04/09 PHP
php创建多级目录代码
2008/06/05 PHP
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
PHP写的获取各搜索蜘蛛爬行记录代码
2012/08/21 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
js带缩略图的图片轮播效果代码分享
2015/09/14 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
微信小程序实现传递多个参数与事件处理
2019/08/12 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
Python中规范定义命名空间的一些建议
2016/06/04 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
自我评价优秀范文分享
2013/11/30 职场文书
同学会邀请书大全
2014/01/12 职场文书
会计电算化毕业生自荐信
2014/03/03 职场文书
二年级学生期末评语
2014/12/26 职场文书
中学生逃课检讨书
2015/02/17 职场文书
共青团员自我评价
2015/03/10 职场文书
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS