Json串到json對象的轉換

JSON(JavaScript Object Notation)html

是一種輕量級的數據交換格式。易於人閱讀和編寫。同時也易於機器解析和生成。它基於JavaScriptStandard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON採用徹底獨立於語言的文本格式。jquery

更多內容請見:http://www.json.org/json

 

(一)標準格式函數

 
function JsonFormatting() {
    var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
    var jsonObject = eval('(' + jsonString + ')');
    var tt = '';
    $.each(jsonObject,function(k, v){
        tt += k + ":" + v+"<br/>";
      });
      $("#divmessage").html(tt); }

 

這種寫法就是key值用雙引號包圍。這種格式能夠叫作json串。經過eval函數將json串轉換爲json對象。spa

(二)簡寫格式code

  function JsonFormatting() {
    var jsonString = '{Unid:"1",CustomerName:"宋江",Age:"33"}';
    var jsonObject = eval('(' + jsonString + ')');
    var tt = '';
    $.each(jsonObject,function(k, v) {
        tt += k + ":" + v+"<br/>";
    });
    $("#divmessage").html(tt); 
}

 

這種寫法就是key值省略引號。orm

經過eval函數將json串轉換爲json對象,而後能夠經過兩種方法訪問:htm

1)點語法對象

Object.Property索引

var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject = eval('(' + jsonString + ')');
alert(jsonObject.CustomerName);


 

(2)鍵值對索引

Object[key]

var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject = eval('(' + jsonString + ')');
alert(jsonObject["CustomerName"]);

 

說明一下eval函數,它能夠把一個字符串看成一個JavaScript表達式同樣去執行。

eval函數接收一個參數s,若是s不是字符串,則直接返回s。不然執行s語句。若是s語句執行結果是一個值,則返回此值,不然返回undefined。對象聲明語法「{}」並不能返回一個值,須要用括號括起來纔會返回值。

 function EvalTest() {
    var code1 = '"a" + 2';    
    //表達式
    var code2 = '{a:2}';      
    //語句
    alert(eval(code1));     
    //輸出a2
    alert(eval(code2));     
    //輸出undefined
    alert(eval('(' + code2 + ')')); 
    //輸出[object Object]
}

 

對於對象聲明語句來講,僅僅是執行,並不能返回值。爲了返回經常使用的「{}」這樣的對象聲明語句,必須用括號括住,以將其轉換爲表達式,才能返回其值。 

jquery添加從json串到json對象的轉換方法。

打開庫,找到jQuery.extend({

添加方法

jsonToObject: function(a) {     
   return eval('(' + a + ')');
},

 

使用以下:

var jsonString = '{"Unid":"1","CustomerName":"宋江","Age":"33"}';
var jsonObject =  $.jsonToObject(jsonString);
alert(jsonObject["CustomerName"]);

 

其中jsonStringjson串,而jsonObjectjson對象

相關文章
相關標籤/搜索