json字符串、json對象、數組之間的轉換

    json字符串轉化成json對象
    
// jquery的方法
var jsonObj = $.parseJSON(jsonStr)
//js 的方法
var jsonObj =  JSON.parse(jsonStr)

    json對象轉化成json字符串 
//js方法
var jsonStr1 = JSON.stringify(jsonObj)

 

json對象和json字符串之間的相互轉換 

例一:好比我有兩個變量,我要將a轉換成字符串,將b轉換成JSON對象:

var a={"name":"tom","sex":"男","age":"24"};

var b={"name":"Mike","sex":"女","age":"29"};

在Firefox,chrome,opera,safari,ie9,ie8等高級瀏覽器直接能夠用JSON對象的stringify()和parse()方法。

JSON.stringify(obj)將JSON轉爲字符串。JSON.parse(string)將字符串轉爲JSON格式;

上面的轉換能夠這麼寫:
    
var a={"name":"tom","sex":"男","age":"24"};
 
var b={"name":"Mike","sex":"女","age":"29"};
 
var aToStr=JSON.stringify(a);
 
var bToObj=JSON.parse(b);
 
alert(typeof(aToStr));  //string
 
alert(typeof(bToObj)); //object

JSON.stringify()

ie8(兼容模式),ie7和ie6沒有JSON對象,不過http://www.json.org/提供了一個json.js,這樣ie8(兼容模式),ie7和ie6就能夠支持JSON對象以及其stringify()和parse()方法;

你能夠在https://github.com/douglascrockford/JSON-js上獲取到這個js,通常如今用json2.js。

ie8(兼容模式),ie7和ie6能夠使用eval()將字符串轉爲JSON對象,

var c={"name":"Mike","sex":"女","age":"29"};
 
var cToObj=eval("("+c+")");
 
alert(typeof(cToObj));

JQuery中也有將字符串轉爲JSON格式的方法jQuery.parseJSON( json ),接受一個標準格式的 JSON 字符串,並返回解析後的 JavaScript (JSON)對象。

固然若是有興趣能夠本身封裝一個jQuery擴展,jQuery.stringifyJSON(obj)將JSON轉爲字符串。

 

例二:
    
<script type="text/javascript">
        var jsonStr = '[{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"011","open":false,"pId":"01","name":"A部門"},<br>{"id":"03","open":false,"pId":"0","name":"A部門"},{"id":"04","open":false,"pId":"0","name":"A部門"}, {"id":"05","open":false,"pId":"0","name":"A部門"}, {"id":"06","open":false,"pId":"0","name":"A部門"}]';
      //  var jsonObj = $.parseJSON(jsonStr);
      var jsonObj =  JSON.parse(jsonStr)
        console.log(jsonObj)
     var jsonStr1 = JSON.stringify(jsonObj)
     console.log(jsonStr1+"jsonStr1")
 </script>

 

    json對象轉化成數組 
<script type="text/javascript">
        var jsonStr = '[{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"01","open":false,"pId":"0","name":"A部門"},{"id":"011","open":false,"pId":"01","name":"A部門"},<br>{"id":"03","open":false,"pId":"0","name":"A部門"},{"id":"04","open":false,"pId":"0","name":"A部門"}, {"id":"05","open":false,"pId":"0","name":"A部門"}, {"id":"06","open":false,"pId":"0","name":"A部門"}]';
      //  var jsonObj = $.parseJSON(jsonStr);
      var jsonObj =  JSON.parse(jsonStr)
        console.log(jsonObj)
     var jsonStr1 = JSON.stringify(jsonObj)
     console.log(jsonStr1+"jsonStr1")
     var jsonArr = [];
     for(var i =0 ;i < jsonObj.length;i++){
            jsonArr[i] = jsonObj[i];
     }
     console.log(typeof(jsonArr))
 </script>
相關文章
相關標籤/搜索