基于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 IFrame 强制刷新代码
Jul 23 Javascript
js 调用父窗口的具体实现代码
Jul 15 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
Oct 20 Javascript
jQuery验证插件 Validate详解
Nov 20 Javascript
bootstrap导航条实现代码
Dec 28 Javascript
node.js中实现kindEditor图片上传功能的方法教程
Apr 26 Javascript
js is_valid_filename验证文件名的函数
Jul 19 Javascript
详解AngularJS之$window窗口对象
Jan 17 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
Feb 11 Javascript
React BootStrap用户体验框架快速上手
Mar 06 Javascript
Node.js 使用jade模板引擎的示例
May 11 Javascript
原生JS实现留言板功能
Feb 08 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
加强版phplib的DB类
2008/03/31 PHP
php&amp;mysql 日期操作小记
2012/02/27 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
JavaScript动态创建div属性和样式示例代码
2013/10/09 Javascript
javascript鼠标滑动评分控件完整实例
2015/05/13 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
checkbox:click事件触发span元素内容改变的方法
2017/09/11 Javascript
React实践之Tree组件的使用方法
2017/09/30 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
2018/05/13 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
html中创建并调用vue组件的几种方法汇总
2020/11/17 Javascript
python局域网ip扫描示例分享
2014/04/03 Python
python实现逻辑回归的方法示例
2017/05/02 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
Python+OpenCV实现旋转文本校正方式
2020/01/09 Python
django之导入并执行自定义的函数模块图解
2020/04/01 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
python 高阶函数简单介绍
2021/02/19 Python
英国门把手公司:Door Handle Company
2019/05/12 全球购物
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
人力资源管理专业毕业生推荐信
2013/11/07 职场文书
超市活动计划书
2014/04/24 职场文书
2015年党员承诺书
2015/01/21 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
windows系统安装配置nginx环境
2022/06/28 Servers