基于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实现仿银行密码输入框效果的代码
Dec 13 Javascript
jquery中输入验证中一个不错的效果
Aug 21 Javascript
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
May 02 Javascript
javascript 系统文件夹文件操作及参数介绍
Jan 08 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
Nov 17 Javascript
Event altKey,ctrlKey,shiftKey属性解析
Dec 18 Javascript
javascript中new关键字详解
Dec 14 Javascript
JavaScript基础知识及常用方法总结
Jan 10 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
May 26 jQuery
使用js实现将后台传入的json数据放在前台显示
Aug 06 Javascript
JS中实现一个下载进度条及播放进度条的代码
Jun 10 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
Sep 02 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 str_replace的替换漏洞
2008/03/15 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
Win下如何安装PHP的APC拓展
2013/08/07 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
详解Javascript数据类型的转换规则
2016/12/12 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
5 种JavaScript编码规范
2018/01/30 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
python中如何使用正则表达式的非贪婪模式示例
2017/10/09 Python
keras中epoch,batch,loss,val_loss用法说明
2020/07/02 Python
Python爬取12306车次信息代码详解
2020/08/12 Python
Python collections模块的使用方法
2020/10/09 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
印度服装购物网站:Limeroad
2018/09/26 全球购物
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
新闻专业应届生求职信
2013/10/31 职场文书
自考毕业生自我鉴定
2013/11/04 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
园林技术专业求职信
2014/07/28 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
公务员个人考察材料
2014/12/23 职场文书
开会通知短信大全
2015/04/20 职场文书
2015国庆节宣传语
2015/07/14 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python