JSON.parse和JSON.stringify的区别
1.parse 用于从一个字符串中解析出json 对象。例如
var str='{name:cpf,age:23}'
经 JSON.parse(str) 得到:
Object:
age:23
name:cpf
_proto_:Object
ps:单引号写在{}外,每个属性都必须双引号,否则会抛出异常
2.stringify用于从一个对象解析出字符串,例如
var a={a:1,b:2}
经 JSON.stringify(a)得到:
“{“a”:1,b:2}”
JSON.stringify,这个函数的作用主要是为了系列化对象的。(或者说是将原来的对象转换为字符串的,如json对象):
首先定义一个json对象,var jsonObject = { UserID: 1, UserName: xiaozhang };
使用alert(jsonObject)弹出一下,显示:
[Object
Object]
然后调用一下JSON.stringify一下,将json对象转换为json字符串。
var
jsontext = JSON.stringify(jsonObject);
alert(jsontext);
显示如下:
{
UserID:
1,
UserName:
xiaozhang
}
2、jQuery.parseJSON,将一个JSON字符串转换为JSON对象(JSON.parse也是将一个json字符串解析为json对象),如下面
首先定义一个JSON字符串,var c = '{name:Mike,sex:男,age:29}';(注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。)
然后调用jQuery.parseJSON将其转换为JSON对象,
var
employeejson=jQuery.parseJSON(c);
访问的时候使用employeejson.name,employeejson.sex,employeejson.age获取相应的值json(javascript object notation)是一种轻量级的数据格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,json是javascript原生格式,这意味着在javascript中处理json数据不需要任何特殊的api或工具包,而且效率非常高。
基本格式:
varjsondata='{"data1":"hello,","data2":"world!"}'
调用方法jsondata.data1,jsondata.data2
很多json数据存入数组
var jsondata=[
{"name":"lilei","age":19,"sex":"male"},
{"name":"hanmei","age":18,"sex":"famale"}
调用方法jsondata[0].name,jsondata[1].sex
总体而言,json是相对比较容易的理解和使用的,但同时存在很多的陷阱,如果不注意的话很容易掉进去。
json的的解析方法
json的解析方法共有两种:eval() 和 json.parse(),使用方法如下:
var jsondata = '{"data1":"hello,", "data2":"world!}';
var eval('('+jsondata+')');
var jsonparsejson=json.parse(jsondata);
这样就把jsondata这个json格式的字符串转换成了json对象。
二者的区别如下:
var value = 1;
var jsonstr = '{"data1":"hello","data2":++value}';
var data1 = eval('('+jsonstr+')');
console.log(data1);//这时value值为2
var data2=json.parse(jsonstr);
console.log(data2);//报错
可以看到控制输出台的结果,第一个eval()顺利执行,第二个报错了。从上例就可以明显地看出,eval(“要转换的数组”) 。
2.JSON.stringify(“要转化的数组”)。
3.首先,两个方法的用法是有差别的。
①.JSON.stringify是从一个对象中解析出字符串。
②.JSON.parse是从一个字符串中解析出json(键值对)。
4.所以在使用的时候如果参数不对应,就不能正确转换。
一.JSON.parse()【从一个字符串中解析出json对象】
1.//定义一个字符串,var data='{"name":"goatling"}'。
2.//解析对象,JSON.parse(data)。
3.结果是:
name:"goatling"
二.JSON.stringify()【从一个对象中解析出字符串】
1.var data={name:'goatling'}
2.JSON.stringify(data)
3.结果是:
'{"name":"goatling"}'
“JSON.parse”和“JSON.stringify”有什么区别?
1.JSON.parse(“要转换的数组”) 。
2.JSON.stringify(“要转化的数组”)。
3.首先,两个方法的用法是有差别的。
①.JSON.stringify是从一个对象中解析出字符串。
②.JSON.parse是从一个字符串中解析出json(键值对)。
4.所以在使用的时候如果参数不对应,就不能正确转换。
一.JSON.parse()【从一个字符串中解析出json对象】
1.//定义一个字符串,var data='{"name":"goatling"}'。
2.//解析对象,JSON.parse(data)。
3.结果是:
name:"goatling"
二.JSON.stringify()【从一个对象中解析出字符串】
1.var data={name:'goatling'}
2.JSON.stringify(data)
3.结果是:
'{"name":"goatling"}'json.stringify是json2.js中的序列化方法
json.parse是jquery.js中的将字符串转换为json数据方法1. parse 用于从一个字符串中解析出json 对象。
例如:var str='{name:cpf,age:23}',经 JSON.parse(str) 得到: Object: age:23 name:cpf _proto_:Object
ps:单引号写在{}外,每个属性都必须双引号,否则会抛出异常。
2.stringify用于从一个对象解析出字符串。
例如; var a={a:1,b:2},经 JSON.stringify(a)得到:“{“a”:1,b:2}”。
JSON.stringify,这个函数的作用主要是为了系列化对象的。(或者说是将原来的对象转换为字符串的,如json对象)。
首先定义一个json对象,var jsonObject = { UserID: 1, UserName: xiaozhang };,使用alert(jsonObject)弹出一下,显示: [Object Object],然后调用一下JSON.stringify一下,将json对象转换为json字符串。
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……