JSON浅总
我们在以前的学习中了解到XML是一种结构化的数据表示方式,一种可扩展标记语言!可以把XML理解成一个微型的结构化的小的数据库,保存一些小型的数据和传输数据,有严格的显示限制。但是XML语句有些冗长和繁琐(xml文档要很多结构上的字符),为了解决这个缺点,JSON的结构化数据就出现了。
什么是JSON?
JSON和XML类型一样,都是一种结构化的数据表示方式,所以,JSON并不是JavaScript独有的数据格式,其他很多语言都可以对JSON进行解析和序列化。它也是一种数据交换格式,采用完全独立于语言的文本格式,易于编写和阅读,同时也易于机器解析和生成。
JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包。
JSON的简单语法了解:
JSON的语法可以表示三种类型的值:简单值、对象、数组。
1、简单值:利用JSON可以表示字符串、数值、布尔值和null,但是却不支持JavaScript的特殊值undefined.
2、对象: { "name":"Lee", "age":100 }
3、数组: [100,"Lee",true]
4、数组结合对象: [ { "title":"a", "num":1 }, { "title":"b", "num":2 }, { "title":"c", "num":3 } ]
见图:
注意:
数组表示法和对象表示法都没有变量赋值和分号。
JSON如何使用?
JSON以一种特定的字符串形式来表示JavaScript对象。并且如果把JSON字符串赋给一个变量,那么久可以直接使用这个对象的任意个属性。例如:
<span style="font-family:KaiTi_GB2312;"><script> var user={"userID":1,"name":"Erica","Email":"nihao@163.com"};
alert(user.name);//直接应用属性</script> </span>如果载入JSON文件,那么我们要使用就必须把它解析成原生JavaScript值;也可以把JavaScript编码成JSON字符串。
那么如何实现呢?
ECMAScript5对解析JSON的行为进行规范,定义了全局对象JSON。这个JSON对象提供了两种方法:
一个是将原生JS值转换为JSON字符串的stringify()方法;
另一个是将JSON字符串转换为JS原生值的parse()方法。
小结:
学的越多,越知道自己还有这么多不知道,继续静下心来,好好学习,以上纯属个人微浅见解,再有接触,定会实时总结更新
JSON浅总的更多相关文章
- package.json浅谈
相信很多小伙伴都见过各种各样的Node.js项目,而里面都有一个名为package.json的文件,而这个文件究竟是干什么的呢? 简单的来说,这个文件就是对整个项目的各种情况的配置(也是介绍),下面给 ...
- Spring MVC使用@ResponseBody返回JSON数据406以及乱码问题解决方案
刚到一家公司,做原始的工作---接口,程序就我一人,没环境,没架构,更没旧项目可以利用,一切从0开始,经理以为我是老鸟,来就布置任务,要一周拿出结果.其实有现成架构的话写个接口还不是分分钟钟的事,关键 ...
- 『练手』手写一个独立Json算法 JsonHelper
背景: > 一直使用 Newtonsoft.Json.dll 也算挺稳定的. > 但这个框架也挺闹心的: > 1.影响编译失败:https://www.cnblogs.com/zih ...
- Json schema 以及在python中的jsonschema
目录 1. JSON Schema简介 2. JSON Schema关键字详解 2.1 $schema 2.2 title和description 2.3 type 3 type常见取值 3.1 当t ...
- 如何保持json序列化的顺序性?
说到json,相信没有人会陌生,我们天天都在用.那么,我们来讨论个问题,json有序吗?是谁来决定的呢?如何保持? 说到底,json是框架还是啥?实际上它只是一个数据格式,一个规范标准,它永远不会限制 ...
- PHP+JQUEY+AJAX实现分页
HTML <div id="list"> <ul></ul> </div> <div id="pagec ...
- PHP+JQUEY+AJAX实现分页【转】
HTML CSS #list{width:680px; height:530px; margin:2px auto; position:relative} #list ul li{float:left ...
- jquery+ajax实现分页
var curPage = 1; //当前页码 var total,pageSize,totalPage; //总记录数,每页显示数,总页数 getData(1); $("#pagecoun ...
- 菜鸟学WEB开发 ASP.NET 5.0 1.0
在学习之初我要强调一点“微软要向跨平台开发”大举进军了,不管他能走多远,这是微软的必经之路. 一.学习流程: 创建ASP.NET APPLICATION 项目——项目结构——结构分析. 1.创建ASP ...
随机推荐
- 电子技术中的dB
(所有内容来自网络: http://www.mscbsc.com/askpro/question13066) dB是功率增益的单位,表示一个相对值 分贝是用来表示 "功率"的数量对 ...
- ggplot绘图学习笔记
0.查看R的系统帮助文档 标度 scale breaks, labels, limits, labs dose <- c(20, 30, 40, 45,60) drugA <- c(16, ...
- 利用nginx向现有网站添加登录验证功能(不添加修改现有网站代码)
在不改变现有网站代码的前提下加入验证功能: 1.假设现有网站后端nodejs,端口3000,nginx配置如下 server { listen 80; server_name localhost; l ...
- 关于showModalDialog()对话框点击按钮弹出新页面的问题
页面a.aspx上,单击按钮a,走脚本,弹出showModalDialog("b.aspx",....) 在b.aspx上有个服务器控件按钮b,单击按钮,更新数据后,会弹出一个新的 ...
- FineUI第七天---文件上传
文件上传的方式: 控件的一些常用属性: ButtonText:按钮文本. ButtonOnly:是否只显示按钮,不显示只读输入框. ButtonIcon:按钮图标. ButtonIconUrl: ...
- 背景透明的 Dialog
一:控制Dialog 的背景方法:1.定义一个无背景主题主题 <!--去掉背景Dialog--> <style name="NobackDialog" paren ...
- Unity 3D 关于给APK包加广告的流程
http://hunterwang.diandian.com/post/2012-11-23/40042217286 最近一直纠结着用Unity给安卓的应用添加广告,用Unity3d做安卓我还是第一次 ...
- ruby开发过程中的小总结
(1)建表的时候注意保留字 在新建的表里无法插入一列的值, 报错信息是:Can't mass-assign protected attributes,这一列的列名是type,查了一下发现是因为type ...
- C# params关键字
params数组的要点 C#开发语言中 params 是关键字,可以指定在参数数目可变处采用参数的方法参数.在函数的参数数目可变而执行的代码差异很小的时候很有用! class Program { st ...
- Java 23种设计模式
转自: http://zz563143188.iteye.com/blog/1847029 ; i<count; i++){ list.add(new MailSender()); } } pu ...