基于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判断是否按回车键并解决浏览器之间的差异
May 13 Javascript
javascript表格的渲染组件
Jul 03 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
浅谈JavaScript find 方法不支持IE的问题
Sep 28 Javascript
vue数组对象排序的实现代码
Jun 20 Javascript
JS实现带阴历的日历功能详解
Jan 24 Javascript
深入理解es6块级作用域的使用
Mar 28 Javascript
微信小程序实现搜索历史功能
Mar 26 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
Jul 15 Javascript
解决layui使用layui-icon出现默认图标的问题
Sep 11 Javascript
微信小程序文章列表功能完整实例
Jun 03 Javascript
JavaScript代码模拟鼠标自动点击事件示例
Aug 07 Javascript
浅谈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 UTF8中文字符截断函数代码
2012/09/11 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
2016/11/14 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
2018/04/20 PHP
10个实用的脚本代码工具
2010/05/04 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
21个JavaScript事件(Events)属性汇总
2014/12/02 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
一看就懂:jsonp详解
2015/06/01 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
2015/06/30 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
js获取form表单所有数据的简单方法
2016/08/18 Javascript
微信小程序 详解页面跳转与返回并回传数据
2017/02/13 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
create-react-app安装出错问题解决方法
2018/09/04 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
vue form check 表单验证的实现代码
2018/12/09 Javascript
VUE脚手架的下载和配置步骤详解
2019/04/01 Javascript
小程序server请求微信服务器超时的解决方法
2019/05/21 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
对Python之gzip文件读写的方法详解
2019/02/08 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
python使用turtle库绘制奥运五环
2020/02/24 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
python 实现波浪滤镜特效
2020/12/02 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
在C#中如何实现多态
2014/07/02 面试题
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
暑期实践思想汇报
2014/01/06 职场文书
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
我的中国梦心得体会范文
2016/01/05 职场文书