• json和string 之间的相互转换


    json和string 之间的相互转换

        <script type="text/javascript">
            
             //先认识一下js中json
            function showInfo(){
             var user={
               "name":"jack",                                 //字符串类型的值
               "age":18,                                      //数字类型的值
               "info":{"tel":"110","cellphone":"13613"},     //object 类型的值
               "address":                                    //数组类型的值;
               [
                  {"city":"meishang","postCode":"222222"},
                  {"city":"chengdu","postCode":"3333333"}
               
               ]
             } //user json over
             
             //简单调用
             alert(user.name);
             alert(user.info.tel);
             alert(user.address[0].city);
            }
            
           
          //------------------------------------------字符串对象转成json对象 
          function strToJson(){
            var str='{"json":"jsonData"}';
            alert(typeof(str));
            
            //方法一;JQ中的方法
            //缺陷:同样的,在我们的ie兼容模式下 会报错;而且还必须需严格遵守JSON规范
            var json=JSON.parse(str); //或者使用我们的 parseJSON
            alert(typeof(json));
            alert(json.json);
          
          }
          
          function strToJson2(){
           //eval('(' + jsonstr + ')');
           //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号 
           //注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。 
           var str='{"json":"jsonData"}';
           alert(typeof(str));
           var json=eval('('+str+')');
           alert(typeof(json));
           alert(json.json);
          
          }
          
          function strToJson3(){
           var str='{"json":"jsonData"}';
           alert(typeof(str));
           var json=(new Function("return"+str))(); //这个json中声明函数对象的一种方式滴呀
           alert(typeof(json));
           alert(json.json);
          }
          
          
          //------------------------------------------json转string类型
          function jsonToStr(){
            
             var obj={name:'jack'}; //对象
             var arr=[];
             arr.push(obj);         //我们都可以将对象 数组 转成我们的string
             
             alert(typeof(obj));
             alert(typeof(arr));
             
             var result1=JSON.stringify(obj);  //或者使用 toJSONString
             var result2=JSON.stringify(arr);  
             alert(typeof(result1));
             alert(typeof(result2));
             
             //缺陷就是在我们ie 兼容性模式下,找不到我们的JSON对象报错,
             
          }
          
          //当然我们也可以手写一个转化的方法
          function jsonToStr2(){
          
            var obj={name:'jack'}; //对象
            
            var jStr="{";
            for(var property in obj){
              jStr+="'"+property+"':'"+obj[property]+"'";
            }
            jStr+="}";
            alert(typeof(jStr));
            alert(jStr);
            
          }
          
          
          //当然最好还有我们的终结方法:使用插件;json2.js
          
        </script>
  • 相关阅读:
    localStorage溢出问题
    面试题梳理
    灵活的楼梯导航条代码
    日期初始化
    css 控制横向布局,超出隐藏,滚动
    自定义滚动条样式
    jquery源码之JQ对象
    jqeury源码之变量解析
    jquery源码之通篇概要
    工作站流处理
  • 原文地址:https://www.cnblogs.com/mc67/p/5607112.html
Copyright © 2020-2023  润新知