json2string json格式到string的转换,调试有时候可以用到

是别人写的,好久已经忘记出处了,贴这有时候会再用到。

 

 

function  json2string(strObject) {
            
var  c, i, l, s  =   '' , v, p;

            
switch  ( typeof  strObject) {
                
case   ' object ' :
                    
if  (strObject) {
                        
if  (strObject.length  &&   typeof  strObject.length  ==   ' number ' ) {
                            
for  (i  =   0 ; i  <  strObject.length;  ++ i) {
                                v 
=  json2string(strObject[i]);
                                
if  (s) {
                                    s 
+=   ' , ' ;
                                }
                                s 
+=  v;
                            }
                            
return   ' [ '   +  s  +   ' ] ' ;
                        } 
else   if  ( typeof  strObject.toString  !=   ' undefined ' ) {
                            
for  (i  in  strObject) {
                                v 
=  strObject[i];
                                
if  ( typeof  v  !=   ' undefined '   &&   typeof  v  !=   ' function ' ) {
                                    v 
=  json2string(v);
                                    
if  (s) {
                                        s 
+=   ' , ' ;
                                    }
                                    s 
+=  json2string(i)  +   ' : '   +  v;
                                }
                            }
                            
return   ' { '   +  s  +   ' } ' ;
                        }
                    }
                    
return   ' null ' ;
                
case   ' number ' :
                    
return  isFinite(strObject)  ?  String(strObject) :  ' null ' ;
                
case   ' string ' :
                    l 
=  strObject.length;
                    s 
=   ' " ' ;
                    
for  (i  =   0 ; i  <  l; i  +=   1 ) {
                        c 
=  strObject.charAt(i);
                        
if  (c  >=   '   ' ) {
                            
if  (c  ==   ' \\ '   ||  c  ==   ' " ' ) {
                                s 
+=   ' \\ ' ;
                            }
                            s 
+=  c;
                        } 
else  {
                            
switch  (c) {
                                
case   ' \b ' :
                                    s 
+=   ' \\b ' ;
                                    
break ;
                                
case   ' \f ' :
                                    s 
+=   ' \\f ' ;
                                    
break ;
                                
case   ' \n ' :
                                    s 
+=   ' \\n ' ;
                                    
break ;
                                
case   ' \r ' :
                                    s 
+=   ' \\r ' ;
                                    
break ;
                                
case   ' \t ' :
                                    s 
+=   ' \\t ' ;
                                    
break ;
                                
default :
                                    c 
=  c.charCodeAt();
                                    s 
+=   ' \\u00 '   +  Math.floor(c  /   16 ).toString( 16 +
       (c 
%   16 ).toString( 16 );
                            }
                        }
                    }
                    
return  s  +   ' " ' ;
                
case   ' boolean ' :
                    
return  String(strObject);
                
default :
                    
return   ' null ' ;
            }
        } 

转载于:https://www.cnblogs.com/Blackie/archive/2009/05/16/1458259.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值