基于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 相关文章推荐
另类调用flash无须激活的方法
Dec 27 Javascript
jQuery 加上最后自己的验证
Nov 04 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
Feb 26 Javascript
js使用DOM操作实现简单留言板的方法
Apr 10 Javascript
学习javascript面向对象 javascript实现继承的方式
Jan 04 Javascript
利用JavaScript实现拖拽改变元素大小
Dec 14 Javascript
javascript验证香港身份证的格式或真实性
Feb 07 Javascript
PHP实现本地图片上传和验证功能
Feb 27 Javascript
微信web端后退强制刷新功能的实现代码
Mar 04 Javascript
浅析vue.js数组的变异方法
Jun 30 Javascript
vue.js input框之间赋值方法
Aug 24 Javascript
JS添加或删除HTML dom元素的方法实例分析
Mar 05 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 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
Prototype PeriodicalExecuter对象 学习
2009/07/19 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
2016/08/01 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
jQuery 遍历map()方法详解
2016/11/04 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
jQuery实现搜索页面关键字的功能
2017/02/16 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
Python书单 不将就
2017/07/11 Python
tensorflow 获取变量&amp;打印权值的实例讲解
2018/06/14 Python
Python面向对象程序设计之继承与多继承用法分析
2018/07/13 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
python批量图片处理简单示例
2019/08/06 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
Claire’s法国:时尚配饰、美容、珠宝、头发
2021/01/16 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
应届大学生的推荐信
2013/11/20 职场文书
企业介绍信范文
2015/01/30 职场文书
关于颐和园的导游词
2015/01/30 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书