JSON 方法使用
来源:互联网 发布:金融互助源码 编辑:程序博客网 时间:2024/04/29 14:44
JSON.parse()
parse用于从一个字符串中解析出json对象,如
var str = '{"name":"huangxiaojian","age":"23"}'
结果:
JSON.parse(str)
Object
- age: "23"
- name: "huangxiaojian"
- __proto__: Object
JSON.stringify()
stringify()用于从一个对象解析出字符串,如
var a = {a:1,b:2}
结果:
JSON.stringify(a)
"{"a":1,"b":2}"
JSON.stringify(),将value(Object,Array,String,Number...)序列化为JSON字符串
支持 IE8+,FF3.5+,safari4+,opera10.5+,chrome
//
* ===================ECMAscript5全局对象JSON=====================
* Json:只是一种轻量级的数据格式。使用jssyntax的子集表示对象、数组、字符串、数值、布尔值、和null
* Note:ECMAScript5 定义了一个原生的JSON对象,
用来将对象序列化为JSON字符串(JSON.stringify()),
或者将JSON数据解析为js对象(JSON.parse())。
* support: IE8+,FF3.5+,safari4+,opera10.5+,chrome
* IE6,7 : https://github.com/douglascrockford/JSON-js
//
//
* JSON.stringify()
* @specify : serialization(序列化)
* @method : JSON.stringify(value,filter,indent);
* @return : JSON字符串
* @param : value {type :String|Object|String|Number|Boolean|null} {explain :传入的类型可以是列出的這些}
* @param : filter : {type : []|{}} {explain :过滤器可以是个数组,也可以是个函数}
* @param : indent : {type : Number | 特殊符号} {explain :如果是数字则代表空白符的个数,最多10个;也可以直接传入缩进的符号}
//
var gather = {
id : 1314,
name : 'pom',
infor : {
age : 20,
sex : 'man',
marry : false,
identity : 622421,
habit : ['篮球','台球','乒乓球','游戏',true]
},
family : ['妈妈','爸爸','弟弟'],
likeGames : ['PCgame','Netgame']
};
var jsonText = JSON.stringify(gather,null,4);
//第二个参数是数组,只会序列化返回数组里列出的名称
var jsonText1 =JSON.stringify(gather,['id','family'],'=');
var jsonText2 = JSON.stringify(gather,function(key,val){
switch(key){
case 'id' :
return 'id is ' + val;
case 'family' :
return val.join('@');
case 'infor' :
//infor的val 还可以使用JSON.stringify()
//return JSON.stringify(val,["age","sex"]);
return Object.prototype.toString.call(val).slice(8, -1);
case 'likeGames' :
//通过返回undefined删除该属性
return undefined;
//一定要default,以便传入的其他值能正常的返回到序列化结果中。
default :
return val;
}
},10);
// console.log(jsonText);
// console.log(jsonText1);
// console.log(jsonText2)
//
* toJSON()
* @specify :JSON.stringify()不能满足对某些对象进行自定义序列化的需求,可以通过对象那个上调用toJSON()方法
* @method : date.toJSON()
* @return : 返回任何序列化的值。
*
* JSON.parse() ,eval_r() 也可以解析并返回js对象和数组等。但IE8以下浏览器会有安全隐患。
* @specify : 将json字符串解析为原生的javascript值。
* @method : JSON.parse(val,replacer)
* @param : val{type : String} {explain : 需要解析的json字符串}
* @param : replacer {type : function}
{explain :和JSON.stringify()第二个参数类似,接受2个参数,key,val,不过是用来还原json串的函数}
//
var products = {
name : "leading",
"time" : new Date(2012,03,1),
toJSON : function(){
//只返回name
return this.name;
}
}
var proStr = JSON.stringify(products);
console.log(proStr);
//obj中的relaeseDate对象序列化之后成了有效的json串
var obj = {
title : '对象的标题',
type : 'primitive' ,
releaseDate : new Date(2012,03,1)
};
//转化为json串
var o = JSON.stringify(obj);
console.log(o);
//在parsedO中还原为一个Date对象(会基于相应的值创建一个新的Date对象,结果parsedO.releaseDate属性中保存了一个Date对象)
var parsedO = JSON.parse(o,function(k,v){
if(k == 'releaseDate'){
return new Date(v);
}else{
return v;
}
});
console.log(parsedO);
//可以调用getFullYear()
console.log(parsedO.releaseDate.getFullYear()); //2012
0 0
- 使用JSON的方法
- 使用JSON的方法
- 使用JSON的方法
- Newtonsoft.Json 方法使用
- 使用JSON的方法
- 使用JSON的方法
- JSON 方法使用
- 使用JSON的方法
- JSON.stringify(),JSON.parse(),toJSON()方法使用
- JSON.stringify(), JSON.parse(), toJSON()方法使用
- json.load(f)方法使用*.json备忘
- JSON.stringify(),JSON.parse(),toJSON()方法使用
- JSON.parse()与JSON.stringify()方法使用
- Java使用Json的方法
- json使用键值解析方法
- JSON.stringify(),JSON.parse(),toJSON()方法使用-20 chapter
- (json学习七)使用JSON的方法
- JSON字符串和JSON对象使用转义的方法
- OpenGL一维纹理映射练习
- Android控件——AutoCompleteTextView和MultiAutoCompleteTextView
- eclipse的maven项目中target目录m2e-wtp无法提交到SVN的处理办法
- 2012年5月SAT香港真题解析
- 思科虚拟柜员VTM解决方案
- JSON 方法使用
- 上课笔记--财务管理
- 原子性与非原子性操作
- Spring官网改版后下载
- 总结MFC中OnOK()、OnCancel()、OnClose()、OnDestroy()之间的区别
- GRE写作必备句型
- 彻底了解mapreduce核心Shuffle--解惑各种mapreduce问题
- WPF图片自动移动
- 【转】opencv中widthStep不一定等于width*nChannels的原因