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 ...
随机推荐
- Yacc 与 Lex 快速入门
Yacc 与 Lex 快速入门 Lex 与 Yacc 介绍 Lex 和 Yacc 是 UNIX 两个非常重要的.功能强大的工具.事实上,如果你熟练掌握 Lex 和 Yacc 的话,它们的强大功能使创建 ...
- explode 和 implode
<?php $str = "HellooooLAAAAAALleeellll33432ll!"; //字符拆分,当2个“l”并列出现,元素结果是空格“ ”,所有的结果是一维数 ...
- Song Jiang's rank list
Song Jiang's rank list Time Limit:1000MS Memory Limit:512000KB 64bit IO Format:%I64d & ...
- 第15章 使用Postfix与Dovecot收发电子邮件
章节概述: 本章节从电子邮局系统的组成角色开始讲起,了解MUA.MTA与MDA的作用,熟悉熟悉SMTP.POP3与IMAP4邮局协议. 学习postfix与dovecot服务程序的使用方法并逐条讲解配 ...
- 新手选择使用 Linux 桌面的七个注意点
导读 刚接触Linux桌面的用户该如何选择一款合适的Linux桌面环境呢?如果你习惯使用Windows或OS X,那么一想到要选择就让人犯难,那么你又该如何在十几个主要的Linux桌面.几十个次要的当 ...
- NYOJ 106背包问题
http://acm.nyist.net/JudgeOnline/problem.php?pid=106 背包问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 现 ...
- Easy Multiple Copy to Clipboard by ZeroClipboard
要实现在多个复制按钮复制的功能(具体代码在附件中,路径修改一下就行了): <%@ page language="java" import="java.util.*& ...
- InnoDB主键设计
InnoDB是clustered-index table,因此对于InnoDB而言,主键具有特殊意义. 可以通过主键直接定位到对应的某一数据行记录的物理位置,主键索引指向对应行记录,其他索引则都指向主 ...
- linux下搭建svn版本控制软件
svn作为曾经流行的版本控制控制软件,它优异的版本控制功能在有意无意间已经深入IT人的工作了.然而虽然有后起之秀的git,但现在使用svn的项目并不在少数.最近有个项目需要协同开发,由于对svn用得比 ...
- codeforces B. Petya and Staircases 解题报告
题目链接:http://codeforces.com/problemset/problem/362/B 题目意思:给出整数n和m,表示有n级楼梯和m级dirty的楼梯,接下来m个数表示对应是哪一个数字 ...