读书人

js string json 互相转换(转载)

发布时间: 2012-08-13 13:21:53 作者: rapoo

js string json 相互转换(转载)

function jsonToString (obj){           var THIS = this;            switch(typeof(obj)){               case 'string':                   return '"' + obj.replace(/(["\\])/g, '\\$1') + '"';               case 'array':                   return '[' + obj.map(THIS.jsonToString).join(',') + ']';               case 'object':                    if(obj instanceof Array){                       var strArr = [];                       var len = obj.length;                       for(var i=0; i<len; i++){                           strArr.push(THIS.jsonToString(obj[i]));                       }                       return '[' + strArr.join(',') + ']';                   }else if(obj==null){                       return 'null';                     }else{                       var string = [];                       for (var property in obj) string.push(THIS.jsonToString(property) + ':' + THIS.jsonToString(obj[property]));                       return '{' + string.join(',') + '}';                   }               case 'number':                   return obj;               case false:                   return obj;           }       } function stringToJSON(obj){           return eval('(' + obj + ')');   }
?当用stringToJSON装换这种json格式时,也就是后台用net.sf.json.JSONArray对象时,需要把JSONArray.toString()后的字符两边的[ ,]都去掉String convertJson=jarrays.toString().replace("[", "");convertJson=convertJson.toString().replace("]", "");然后放进去是不要两边的引号,像下边这样;result="{\"msg\":"+true+",\"desc\":"+convertJson+"}";
JSONArray.toString()后的格式是这样的[{"UUID":"436817","MSGID":""}],所以要按照上面的改法,然后用stringToJSON是才有用,不如装换后要获取UUID的值时,就可以这样获取了result.desc.UUID





读书人网 >JavaScript

热点推荐