javascript 中的 json

 1、  json即javascript對象表示法(javascript object notion),可讀性強、很是適合數據傳輸。javascript中的對象字面量是json的基礎。例如數組、字符串和數值等類型的字面量,如:javascript

    var anArray=[''hello','world'];//數組java

    var aString='hello world';//字符串正則表達式

    var aNumber=3.12;//數值json

    var anObject={};//對象數組

    var aBoolean=true;//布爾值數據結構

    var aRegExp=/\d/g;//正則表達式函數

  json構建於這些對象字面量的概念之上,並支持複雜的數據結構,其中能夠包括各類各樣的常見數據類型:spa

    Numbers 數值類型,包括整數(0、一、2)、浮點數(6.98)和實數(6.02e23)。firefox

    String 根據標準,字符串是由雙引號括起來的Unicode字符串,其中能夠使用反斜槓進行轉義。指針

    Boolean true值或者false值。

    Array 一個有序的值的序列。

   Object '鍵-值'對。

   Null 一個空指針。

2、從javascript 字面量到json

   json是javascript對象表示法的一個子集,使用了javascript對象表示法中全部相同的規則和基礎數據類型。以下:

    {

          "customers":[

                                 {

                                       "name":"mr.li",

                                        "sext":"man",

                                         "age":30

                                  },

                                    {

                                       "name":"mr.xiao",

                                        "sext":"man",

                                         "age":40

                                  }

                            ]   

     }

3、轉換json代碼

     要將一個json字符串轉換爲一個javascript對象並具備可用格式,最簡單的辦法就是使用eval()函數進行轉換。

    爲了便於使用eval()函數,須要將json代碼塊轉換爲一個javascript字符串:

           var jsonString="{\"curstomers\":[{\"name\":\"mr.li\",\"sex\":\"man\",\"age\":30},{\"name\":\"mr.xiao\",\"sex\":\"man\",\"age\":30}]}";

           var jsonObject=eval("("+jsonString+")");

     通過eval()函數轉換後,經過以下方式就能夠訪問到該json對象:

          alert(jsonObject.curstomers[1].name);//"mr.xiao"

     在firefox和IE中,包含一個全局JSON對象。具備兩個方法:JSON.parse()方法和JSON.stringify()方法:

         一、JSON.parse()語法以下: JSON.parse(text[,reviver]);

             第一個參數text是一個包含了有效JSON結構的字符串。第二個參數reviver是一個可選的函數,用於篩選和轉換分析結果:var jsonObj=JSON.parse(jsonString);

        二、JSON.stringify()用於將對象轉換成json:JSON.stringify(value[,replacer[,space]])

            第一個參數value是一個想對之進行轉換的基本數據或者對象。第二個參數replacer是一個可選的操做函數或者數組引用.第三個參數space用於定義該結構在每一層級上如何進行縮進:var obj={a:20,b:'hello',c:true};var string=JSON.stringify(obj);//{"a":20,"b":"hello","c":true}

相關文章
相關標籤/搜索