全部博文(2065)
分类: 系统运维
2009-11-14 11:53:54
evel():该函数可以把一个字符串当作一个JavaScript表达式一样去执行它,具体来说,就是eval接受一个字符串类型的参数,
将这个字符串作为代码在上下文环境中执行,并返回执行的结果。
比如说:evel("3+4")
则返回了7.
接收到一个字符串参数然后依据这样的上下文进行相应的处理。返回了两个数字之和。
var myObject = eval('(' + myJSONtext + ')'); 这样就能够将一个JSON的文本表达式转换成一个对象了。
用这个方法有一个安全隐患。所以我们一般不推荐使用它。而是通过调用一个JSON自身带的一个编译器进来。
var myObject = JSON.parse(myJSONtext, reviver);
使用了JSON内置的一个解析器处理JSONTEXT文本。
myData = JSON.parse(text, function (key, value) {
var type;
if (value && typeof value === 'object') {
type = value.type;
if (typeof type === 'string' && typeof window[type] === 'function') {
return new (window[type])(value);
}
}
return value;
});
这个就是实现了如何将一个JSONTEXT转换成一个对象类型。
当然也可以将一个JSON对象的数据转换成一个JS文本了。
地址。
A JSON stringifier goes in the opposite direction, converting JavaScript data structures into JSON text.
将JS的对象变换回一个JSON文本。
var myJSONText = JSON.stringify(myObject, replacer); 利用JSON的内置方法实现转换。
以下分析一下在JS里面我们是如何去解析或者讲是如何处理JSON文本的?
下载 这个内置的JS的作用就是实现上面我们说的那样在JS文本与JSON对象之间的转换
处理!
调用此内置的JS包。可以拿出来一些直接的方法处理!
function Car(make,model,year,color){
this.make = make;
this.model=model;
this.year=year;
this.color=color;
}
function showCar(){
//alert("test");
var car = new Car("modge","cor",1986,"red");//构造对象
alert(car.toJSONString());//得到了一个JSON对象了。
}
showCar();
输出:{"make":"modge","model":"cor","year":1986,"color":"red"} 输出一个JSON对象了。
因为JSON是JS的子集故而可以直接使用JS的内置方法eval将一个JS文本转换成一个JSON对象出来。
一般的AJAX在JS端调用的时候就能够:
var card = eval('(' + req.responseText + ')'); 得到了一个JSON对象了。那解析是非常方便的!
如果你想使用AJAX+WEB服务。即通过JS去访问WEB服务的话一般是传回XML然后进行解析处理。不过如果通过输出
JSON对象回来解析是非常方便的。要解析的就是将一个JSON对象解析成我们想要的。
JSON的聪明在于它是JavaScript和Python的子集!还是python的直接子集哦。这样的话在python里面是不需要
什么第三方的东西就能够直接解析了!
其中json.js中的一些API说明:
1、toJSONString 表示将JS里面的对象转换成为一个JSON对象。其作用与eval的功能是一样的!
例如:
var car = new Car("modge","cor",1986,"red");
document.write(car.toJSONString()); 输出:{"make":"modge","model":"cor","year":1986,"color":"red"}
2、parseJSON 表示将一个JS的文本转换成为一个JSON对象输出。
例如:
var str = '{"name":"voilet","occ":"char"}';
var obj = str.parseJSON(); //将JS的文本转换成一个JSON对象了!
document.write(obj.toJSONString()); //这个JSON对象变成一个字符串!
输出:{"name":"voilet","occ":"char"} //得到一个JSON文本出来!
一般的AJAX取回来的数据:var myobj = originalRequest.responseText.parseJSON();
将其解析成一个JSON对象。然后就可以来进行分析处理里面的数据出来!