Json之文法,格式

來源:互聯網
上載者:User

標籤:資料   amp   文本   eva   建立   工具   樣本   格式   分享   

JSON 文字格式設定在文法上與建立 JavaScript 對象的代碼相同。
由於這種相似性,無需解析器,JavaScript 程式能夠使用內建的 eval() 函數,用 JSON 資料來產生原生的 JavaScript 對象。

JSON文法規則:

資料在 名稱/值 對仲
資料由逗號分隔
花括弧儲存對象
方括弧儲存數組

JSON 名稱/值 對介紹

"name":"張飛",
"age":23

Json的值可以是:

數字(整數或浮點數)
字串(要包括在雙引號中)
邏輯值(true或false)
數組(在方括弧中)
對象(在花括弧中)

Json轉javascript對象的方法為:

eval("(" + str + ")");

程式碼範例:

<html><head>    <title>Json測試</title>    <script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>    <script type="text/javascript">        //基本上,Json返回的要麼是對象,要麼是數組,如果單純返回一個字串,那麼就沒有必要用Json了,因此        //Json基本就下面這些可,不過要注意雙引號        var str0 = "{employees:‘測試‘}";        var obj0 = eval("(" + str0 + ")");        alert(obj0.employees);          //輸出測試        var str = "{name:‘張三‘,Age:21}";        var obj = eval("(" + str + ")");        document.write(obj.name + obj.Age);   //輸出 張三21        alert(obj.name);        //別看下面那段Json長,其實是一個對象,屬性employees的值是一個對象數組。和上面的相比,只是name:張三  中的"張三"字串 變成了對象數組而已        var str2 = ‘{ "employees" : [‘ + ‘{ "firstName":"Bill" , "lastName":"Gates" },‘ + ‘{ "firstName":"George" , "lastName":"Bush" },‘ + ‘{ "firstName":"Thomas" , "lastName":"Carter" } ]}‘;        var obj2 = eval("(" + str2 + ")");        alert(obj2.employees[0].firstName);     //彈出 Bill        var str3 = "[1,2,3,4,5,6]";             //json 數組        var obj3 = eval("(" + str3 + ")");      //輸出 2        alert(obj3[1]);    </script></head><body>    <div id="div1">    </div></body></html>
Json與JavaScript對象轉換 

  JSON轉javascript對象

//Json轉對象1function JsonToObject(str) {    return eval("(" + str + ")");}//Json轉對象2 function strToJson(str){    var json = (new Function("return " + str))();    return json;}//Json轉對象3 jQuery工具函數$.parseJSON()

  javascript對象轉JSON

//javascript對象轉Jsonfunction ObjectToJson(o) {    var arr = [];    var fmt = function(s) {        if (typeof s == ‘object‘ && s != null) return json2str(s);        return /^(string|number)$/.test(typeof s) ? "‘" + s + "‘" : s;    }    for (var i in o) arr.push("‘" + i + "‘:" + fmt(o[i]));    return ‘{‘ + arr.join(‘,‘) + ‘}‘;}

Json之文法,格式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.