基于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 相关文章推荐
如何取得中文输入的真实长度?
Jun 24 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
Mar 12 Javascript
jquery中常用的函数和属性详细解析
Mar 07 Javascript
JS常用函数使用指南
Nov 23 Javascript
node.js中的fs.readSync方法使用说明
Dec 17 Javascript
JS实现超简单的鼠标拖动效果
Nov 02 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
Jul 25 Javascript
jQuery中get方法用法分析
Dec 07 Javascript
微信小程序 基础组件与导航组件详细介绍
Feb 21 Javascript
ES6教程之for循环和Map,Set用法分析
Apr 10 Javascript
vue 实现超长文本截取,悬浮框提示
Jul 29 Javascript
js实现纯前端压缩图片
Nov 16 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查询网站的PR值
2013/10/30 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
javascript引导程序
2008/10/26 Javascript
深入理解JavaScript系列(13) This? Yes,this!
2012/01/18 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
移动节点的jquery代码
2014/01/13 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
JavaScript事件详细讲解
2016/06/27 Javascript
快速掌握jQuery插件WebUploader文件上传
2016/11/07 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
javaScript基础详解
2017/01/19 Javascript
vue-cli 自定义指令directive 添加验证滑块示例
2017/10/19 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
layui-table获得当前行的上/下一行数据的例子
2019/09/24 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
医科大学生毕业的自我评价分享
2013/11/12 职场文书
办公用房租赁协议书
2014/11/29 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书
科级干部培训心得体会
2016/01/06 职场文书