我们在以前的学习中了解到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浅总的更多相关文章

  1. package.json浅谈

    相信很多小伙伴都见过各种各样的Node.js项目,而里面都有一个名为package.json的文件,而这个文件究竟是干什么的呢? 简单的来说,这个文件就是对整个项目的各种情况的配置(也是介绍),下面给 ...

  2. Spring MVC使用@ResponseBody返回JSON数据406以及乱码问题解决方案

    刚到一家公司,做原始的工作---接口,程序就我一人,没环境,没架构,更没旧项目可以利用,一切从0开始,经理以为我是老鸟,来就布置任务,要一周拿出结果.其实有现成架构的话写个接口还不是分分钟钟的事,关键 ...

  3. 『练手』手写一个独立Json算法 JsonHelper

    背景: > 一直使用 Newtonsoft.Json.dll 也算挺稳定的. > 但这个框架也挺闹心的: > 1.影响编译失败:https://www.cnblogs.com/zih ...

  4. 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 ...

  5. 如何保持json序列化的顺序性?

    说到json,相信没有人会陌生,我们天天都在用.那么,我们来讨论个问题,json有序吗?是谁来决定的呢?如何保持? 说到底,json是框架还是啥?实际上它只是一个数据格式,一个规范标准,它永远不会限制 ...

  6. PHP+JQUEY+AJAX实现分页

      HTML <div id="list">   <ul></ul>  </div>  <div id="pagec ...

  7. PHP+JQUEY+AJAX实现分页【转】

    HTML CSS #list{width:680px; height:530px; margin:2px auto; position:relative} #list ul li{float:left ...

  8. jquery+ajax实现分页

    var curPage = 1; //当前页码 var total,pageSize,totalPage; //总记录数,每页显示数,总页数 getData(1); $("#pagecoun ...

  9. 菜鸟学WEB开发 ASP.NET 5.0 1.0

    在学习之初我要强调一点“微软要向跨平台开发”大举进军了,不管他能走多远,这是微软的必经之路. 一.学习流程: 创建ASP.NET APPLICATION 项目——项目结构——结构分析. 1.创建ASP ...

随机推荐

  1. WPF 组合快捷键

    if(e.KeyStates == Keyboard.GetKeyStates(Key.F4) && Keyboard.Modifiers == ModifierKeys.Alt) { ...

  2. Java-Java中System.arraycopy() 和 Arrays.copyOf()两者之间的区别

    如果我们想拷贝一个数组,我们可能会使用System.arraycopy()或者Arrays.copyof()两种方式.在这里,我们将使用一个比较简单的示例来阐述两者之间的区别. 1.示例代码: Sys ...

  3. C语言中strstr函数

    头文件:#include <string.h> strstr()函数用来检索子串在字符串中首次出现的位置,其原型为:    char *strstr( char *str, char * ...

  4. IMEI是什么? 怎样查手机串号IMEI

    IMEI的基本含义 IMEI(International Mobile Equipment Identity,移动设备国际识别码,又称为国际移动设备标识)是手机的唯一识别号码.我们从这个缩写的全称中来 ...

  5. Object、Function、String、Array原生对象扩展方法

    JavaScript原生对象的api有些情况下使用并不方便,考虑扩展基于Object.Function.String.Array扩展,参考了prototype.js的部分实现,做了提取和修改,分享下: ...

  6. shell脚本监控Flume输出到HDFS上文件合法性

    在使用flume中发现由于网络.HDFS等其它原因,使得经过Flume收集到HDFS上得日志有一些异常,表现为: 1.有未关闭的文件:以tmp(默认)结尾的文件.加入存到HDFS上得文件应该是gz压缩 ...

  7. getVisibleSize 和 getContentSize 和 getWinSize

    getVisibleSize:获得视口(可视区域)的大小,若是DesignResolutionSize跟屏幕尺寸一样大,则getVisibleSize便是getWinSize.getVisibleOr ...

  8. NSDictionary转化为实体类对象

    方法一: 使用objective-c NSObject自带的方法 setValuesForKeysWithDictionary:dict 作用是: 如果NSDictionary中的key和实体类对象的 ...

  9. sizeof()和strlen()的区别与联系

    参考:http://www.cnblogs.com/carekee/articles/1630789.html 1.sizeof是运算符,其值在编译时即计算好了,参数可以是数组.指针.类型.对象.函数 ...

  10. The server does not support version 3.0 of the J2EE Web module specification

    1.错误: 在eclipse中使用run->run on server的时候,选择tomcat6会报错误:The server does not support version 3.0 of t ...