首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

前台Json与String互相转换解决方案

2012-08-25 
前台Json与String相互转换解决方案? ? Json格式在当前的Web项目开发中已经越来越重要,面对Json格式,我们时

前台Json与String相互转换解决方案

? ? Json格式在当前的Web项目开发中已经越来越重要,面对Json格式,我们时常需要将Json格式的数据转换成字符串形式,或者将字符串形式的数据转换为Json对象的数据。

?

? ? 在Java后台中,这种相互转换的工具已经有很多,例如:org.json,fastjson,gson等等,不胜枚举。所以这里不对此进行探讨,这里主要给出一个在天台中进行json和string进行转换的解决方案。

?

Json转换帮助类:

var JsonUtils = function(){var cache = [];var _json2String = function(jsonObj){var type = typeof jsonObj;if('object' == type){if(Array == jsonObj.constructor){type = "array";}else if(RegExp == jsonObj.constructor){type = "regexp";}else{type = "object";}}switch(type){case 'undefined' :case 'unknown' :return;case 'function' :case 'boolean' :case 'regexp' :return jsonObj.toString();case 'number' :return isFinite(jsonObj) ? jsonObj.toString() : 'null';case 'string' :return '"' + jsonObj.replace(/(\\|")/g, "\\$1").replace(/\n|\t|\r/g, function(){var a = arguments[0];return (a == '\n')? '\\n' : (a == '\r') ? '\\r' : (a == '\t') ? '\\t' : "";}) + '"';case 'object' :if(jsonObj === null)return 'null';var results = [];for(var property in jsonObj){if('parentNode' == property)continue;var value = _json2String(jsonObj[property]);if(value != undefined){var temp = _json2String(property);results.push(temp + ':' + value);}}return '{' + results.join(',') + '}';case 'array' :var results = [];for(var i = 0; i < jsonObj.length; i += 1){if(_isCache(jsonObj[i].tId)){continue;}else{cache.push(jsonObj[i].tId);var value = _json2String(jsonObj[i]);if(value !== undefined){results.push(value);}}}return '[' + results.join(',') + ']';}};var _isCache = function(currentId){for(var i = 0; i< cache.length; i += 1){if(currentId === cache[i] ){return true;}}return false;};var _jsonStr2JsonObj = function(jsonStr){try{return $.parseJSON(jsonStr);}catch(e){throw "parse json string error";}};return{jsonStr2JsonObj : function(jsonStr){return _jsonStr2JsonObj(jsonStr);},json2String : function(jsonObj){return _json2String(jsonObj);}};}();
?

测试代码:

var json = {'id' : '123'};var jsonStr = JsonUtils.json2String(json);alert(jsonStr);
?

?

热点排行
Bad Request.