jQuery.extend(
{
	/**
	* @see  将json字符串转换为对象
	* @param   json字符串
	* @return 返回object,array,string等对象
	*/
	evalJSON : function (strJson)
	{
		return eval( "(" + strJson + ")");
	}
});
jQuery.extend(
{
	/**
	* @see  将javascript数据类型转换为json字符串
	* @param 待转换对象,支持object,array,string,function,number,boolean,regexp
	* @return 返回json字符串
	*/
	toJSON : function (object){
		var type = typeof object;
		if ('object' == type)
		{
			if (Array == object.constructor)
			type = 'array';
			else if (RegExp == object.constructor)
			type = 'regexp';
			else
			type = 'object';
		}
		switch(type)
		{
			case 'undefined':
			case 'unknown':
			return;
			break;
			case 'function':
			case 'boolean':
			case 'regexp':
			return object.toString();
			break;
			case 'number':
			return isFinite(object) ? object.toString() : 'null';
			break;
			case 'string':
			return '"' + object.replace(/(\\|\")/g,"\\$1").replace(/\n|\r|\t/g,
			function(){
				var a = arguments[0];
				return  (a == '\n') ? '\\n':
				(a == '\r') ? '\\r':
				(a == '\t') ? '\\t': ""
			}) + '"';
			break;
			case 'object':
			if (object === null) return 'null';
			var results = [];
			for (var property in object) {
				if(object[property]){
					var value = jQuery.toJSON(object[property]);
					if (value !== undefined){
						results.push(jQuery.toJSON(property) + ':' + value);
					}
				}else{
					results.push(property + ':null');
				}
			}
			return '{' + results.join(',') + '}';
			break;
			case 'array':
			var results = [];
			for(var i = 0; i < object.length; i++)
			{
				var value = jQuery.toJSON(object[i]);
				if (value !== undefined) results.push(value);
			}
			return '[' + results.join(',') + ']';
			break;
		}
	}
});