zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    经典回溯问题- 迷宫
    关于二叉树的一点补充。
    二叉树重难点总结(判断完全二叉树,非递归前、中、后序遍历的实现等...)
    栈、队列常规操作
    贪吃蛇小游戏
    链表重点问题(下)
    链表常见问题(上)
    动态顺序表
    时间 空间复杂度小结(斐波那契 二分查找举例)
    每天一个linux命令-id,输出用户的uid、gid
  • 原文地址:https://www.cnblogs.com/mc67/p/5607112.html
Copyright © 2011-2022 走看看