JSON --- 一种轻量级的数据交换格式
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。本篇主要介绍javascript中json的使用方法。
1. 语法
JSON支持表示三种类型的数据:简单值、对象、数组。
- 简单值
和javascript基本数据类型一样,但是不支持
undefined
- 对象
对象属性一定要加双引号
"", 并且末尾没有分号;
{
"name" : "roddy",
"age" : 25
}
- 数组
和javascript数组一样。
2. 解析与序列化
javascript中主要用
JSON对象的.stringify()和.parse()方法来解析和序列化。
JSON.stringify( jsData[, filter, indent] )
- 把javascript对象序列化为JSON格式的字符串。
jsData: 待序列化的javascript数据。filter: 过滤器,可以是一个数组或者一个函数。
数组: 序列化的JSON中只包含数组中拥有的属性。
函数: 该函数接收两个参数,分别是对应的键值对key、value,该函数返回的值即为JSON中属性对应的值。indent: 缩进。可以是一个数值或者一个字符串。
数值: 缩进对应数值的空格符。
字符串: 用对应字符串代替缩进符。
// javascript对象
var jsObject = {
name : "roddy",
age : 25
};
// 默认
console.log( JSON.stringify( jsObject ) );
// 传入数组过滤器
console.log( JSON.stringify( jsObject, [ "name" ] ) );
// 传入函数过滤器
console.log( JSON.stringify( jsObject, function( key, value ) {
if( key === "name" ) {
return "Roddy";
} else {
return value;
}
} ) );
// 传入数值缩进
console.log( JSON.stringify( jsObject, null, 4 ) );
// 传入字符串缩进
console.log( JSON.stringify( jsObject, null, "-" ) );
// 输出
// {"name":"roddy","age":25}
// {"name":"roddy"}
// {"name":"Roddy","age":25}
/**
{
"name":"roddy",
"age":25
}
**/
/**
{
-"name":"roddy",
-"age":25
}
**/
JSON.parse( jsonData[, reduction])
- 把JSON格式数据解析为javascript数据
jsonData: 待解析的JSON数据reduction: 还原函数,该函数接收两个参数,分别是对应的键值对key、value,该函数返回的值即为javascript中属性对应的值。
var jsonString = '{ "name" : "roddy", "age" : 25 }';
// 默认
console.log( JSON.parse( jsonString ) );
// 传入还原函数
console.log( JSON.parse( jsonString, function( key, value ) {
if( key === "name" ) {
return "Roddy";
} else {
return value;
}
} ) );
// 输出
// {name:"roddy",age:25}
// {name:"Roddy",age:25}
JSON --- 一种轻量级的数据交换格式的更多相关文章
- JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式
JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 它基于JavaScript(Standard ECMA-262 3rd Edition - D ...
- python开发_json_一种轻量级的数据交换格式
以下是我做的对于python中json模块的demo 运行效果: Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.16 ...
- 两种常用的数据交换格式:XML和JSON
不同编程语言之间的数据传输,需要一种通用的数据交换格式,它需要简洁.易于数据储存.快速读取,且独立于各种编程语言.我们往往传输的是文本文件,比如我们都知道的csv(comma seperated va ...
- 常用两种数据交换格式之XML和JSON的比较
目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...
- XML和JSON两种数据交换格式的比较
在web开发领域,主要的数据交换格式有XML和JSON,对于在 Ajax开发中,是选择XML还是JSON,一直存在着争议,个人还是比较倾向于JSON的.一般都输出Json不输出xml,原因就是因为 x ...
- JSON(JS 对象简谱,一种数据交换格式)
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式 存储和表示数据的文本格式 层次结构清晰.简洁 JSON是一个序列化的对象或数组 1.js ...
- json 数据交换格式与java
http://wiki.mbalib.com/wiki/数据交换 数据交换是指为了满足不同信息系统之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同信息系统之间数据资源共享的过程. 数据 ...
- iOS 中 JSON 数据交换格式
JSON (JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 的详细教程,能够參见 JSON 中国:http://www.json.org.cn/ ...
- json:js和jquery中轻量级数据交换格式
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...
随机推荐
- Delphi 的内存操作函数(1): 给字符指针分配内存
马上能想到的函数有: GetMem AllocMem ReallocMem FreeMem GetMemory ReallocMemory FreeMemory New Dispose NewStr ...
- CNN网络--AlexNet
ImageNet Classification with Deep Convolutional Neural Networks 从AlexNet剖析-卷积网络CNN的一般结构 AlexNet是Hint ...
- BUPT 2012复试机考 4T
题目描述 我们都学习过计算机网络,知道网络层IP协议数据包的头部格式如下: 其中IHL表示IP头的长度,单位是4字节:总长表示整个数据包的长度,单位是1字节.传输层的TCP协议数据段的头部格式如下: ...
- JAVA_MyEclipse常见配置NETGEAR路由器如何设置
1 把宽带网线接到路由器的Internet口,然后用一个网线连接PC和路由器的任意端口(1,2,3,4一般四个),如下图所示 2 在浏览器地址栏中输入下面的网址,中途会弹出对话框询问账号密码,默认的账 ...
- 【试水CAS-4.0.3】第06节_CAS服务端配置HTTPS
完整版见https://jadyer.github.io/2012/05/30/tomcat-https/ /** * @see CAS服务端配置HTTPS * @see -------------- ...
- UML类间关系
1继承 指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系:在Java中此类关系通过关键字exten ...
- iOS文件的管理(添加,删除,拷贝,移动)
#import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super vie ...
- mongoVUE 破解方法
mongoVUE1.5.3的破解方法其实很简单 注册表中查找B1159E65-821C3-21C5-CE21-34A484D54444中的子项4FF78130 ,删除其下的三个子项即可. 开始-运行- ...
- H5新增表单属性
一.form属性 <form id="test"> <input type="text" placeholder="请输入合适的信息 ...
- MongoDB经常使用命令
首先我们先安装这个数据库.你能够使用windows或者linux,但推荐使用的是linux,我使用的是ubuntu12.04.在下方的网址中共能够下载,基本都是64位的系统. 假设位linux系统也能 ...