基于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里使用Dom操作Xml
Sep 20 Javascript
js简单实现交换Li的值
May 22 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
May 25 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
Jul 25 Javascript
Ionic2调用本地SQlite实例
Apr 22 Javascript
详解vue的diff算法原理
May 20 Javascript
解决layui表格内文本超出隐藏的问题
Sep 12 Javascript
vue实现树形结构样式和功能的实例代码
Oct 15 Javascript
JavaScript数组排序小程序实现解析
Jan 13 Javascript
JS图片懒加载技术实现过程解析
Jul 27 Javascript
vue 子组件watch监听不到prop的解决
Aug 09 Javascript
如何手写简易的 Vue Router
Oct 10 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 cli模式学习(PHP命令行模式)
2013/06/03 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
2019/04/09 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
获取3个数组不重复的值的具体实现
2013/12/30 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
理解javascript async的用法
2017/08/22 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
React Native之prop-types进行属性确认详解
2017/12/19 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python实现两款计算器功能示例
2017/12/19 Python
Python实现随机生成手机号及正则验证手机号的方法
2018/04/25 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
Python callable内置函数原理解析
2020/03/05 Python
jupyter notebook中美观显示矩阵实例
2020/04/17 Python
Java ExcutorService优雅关闭方式解析
2020/05/30 Python
美国环保妈妈、儿童和婴儿用品购物网站:The Tot
2019/11/24 全球购物
HomeAway英国:全球领先的度假租赁在线市场
2020/02/03 全球购物
我的大学生活职业生涯规划
2014/01/02 职场文书
股权转让协议书范本
2014/04/12 职场文书
环保倡议书400字
2014/05/15 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
顶岗实习协议书
2015/01/29 职场文书
责任书范本大全
2015/05/11 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
Python Django模型详解
2021/10/05 Python