基于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的函数
Jan 31 Javascript
js资料prototype 属性
Mar 13 Javascript
jquery easyui的tabs使用时的问题
Mar 23 Javascript
基于JQuery的一句代码实现表格的简单筛选
Jul 26 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
Dec 26 Javascript
js控制web打印(局部打印)方法整理
May 29 Javascript
实测jquery data()如何存值
Aug 18 Javascript
JavaScript类型系统之基本数据类型与包装类型
Jan 06 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 Javascript
浅谈AngularJS中ng-class的使用方法
Nov 11 Javascript
jquery 键盘事件的使用方法详解
Sep 13 jQuery
VUE+Element环境搭建与安装的方法步骤
Jan 24 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
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
测试PHP连接MYSQL成功与否的代码
2013/08/16 PHP
PHP开发注意事项总结
2015/02/04 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
php session的锁和并发
2016/01/22 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
Javascript 复制数组实现代码
2009/11/26 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
python八大排序算法速度实例对比
2017/12/06 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
值得收藏的10道python 面试题
2019/04/15 Python
通过python3实现投票功能代码实例
2019/09/26 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
大学生创业项目方案
2014/03/08 职场文书
干部考核评语
2014/04/29 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
环卫工作个人总结
2015/03/04 职场文书
机器人瓦力观后感
2015/06/12 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书