茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    JS中JSON對(duì)象和String之間的互轉(zhuǎn)及處理技巧
    來(lái)源:易賢網(wǎng) 閱讀:1410 次 日期:2016-07-08 15:07:22
    溫馨提示:易賢網(wǎng)小編為您整理了“JS中JSON對(duì)象和String之間的互轉(zhuǎn)及處理技巧”,方便廣大網(wǎng)友查閱!

    JSON:JavaScript 對(duì)象表示法(JavaScript Object Notation),其實(shí)JSON就是一個(gè)JavaScript的對(duì)象(Object)而已。

    如有不清楚JSON,可以去w3cschool了解http://www.w3school.com.cn/json/

    1.在javascript中新建一個(gè)字符串(JSON文本)。

    var txt = '{ "employees" : [' +

    '{ "firstName":"Bill" , "lastName":"Gates" },' +

    '{ "firstName":"George" , "lastName":"Bush" },' +

    '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';

    由于 JSON 語(yǔ)法是 JavaScript 語(yǔ)法的子集,JavaScript 函數(shù) eval() 可用于將 JSON 文本轉(zhuǎn)換為 JavaScript 對(duì)象。

    eval() 函數(shù)使用的是 JavaScript 編譯器,可解析 JSON 文本,然后生成 JavaScript 對(duì)象。必須把文本包圍在括號(hào)中,這樣才能避免語(yǔ)法錯(cuò)誤:

    var obj = eval ("(" + txt + ")");

    注意:eval() 函數(shù)可編譯并執(zhí)行任何 JavaScript 代碼。這隱藏了一個(gè)潛在的安全問(wèn)題。

    使用 JSON 解析器將 JSON 轉(zhuǎn)換為 JavaScript 對(duì)象是更安全的做法。JSON 解析器只能識(shí)別 JSON 文本,而不會(huì)編譯腳本。

    在瀏覽器中,這提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。

    較新的瀏覽器和最新的 ECMAScript (JavaScript) 標(biāo)準(zhǔn)中均包含了原生的對(duì) JSON 的支持。

    字符串轉(zhuǎn)json對(duì)象:JSON.parse(jsonstr);

    json對(duì)象轉(zhuǎn)json字符串:JSON.stringify(jsonObj);

    JQuery方法:

    json字符串轉(zhuǎn)json對(duì)象:jQuery.parseJSON(jsonStr);

    <html>

    <body>

    <h2>通過(guò) JSON 字符串來(lái)創(chuàng)建對(duì)象</h3>

    <p>

    First Name: <span id="fname"></span><br />

    Last Name: <span id="lname"></span><br />

    </p>

    <script type="text/javascript">

    var txt = '{"employees":[' +

    '{"firstName":"Bill","lastName":"Gates" },' +

    '{"firstName":"George","lastName":"Bush" },' +

    '{"firstName":"Thomas","lastName":"Carter" }]}';

    obj = JSON.parse(txt);

    document.getElementById("fname").innerHTML=obj.employees[1].firstName

    document.getElementById("lname").innerHTML=obj.employees[1].lastName

    </script>

    </body>

    </html>

    2.那么如何遍歷json數(shù)組呢?可以把它當(dāng)成一個(gè)普通的javascript對(duì)象來(lái)處理。

    <html>

    <body>

    <h2>如何遍歷JSON數(shù)組</h3>

    <div id="result"></div>

    <script type="text/javascript">

    var txt = '[{"firstName":"Bill","lastName":"Gates" },' +

    '{"firstName":"George","lastName":"Bush" },' +

    '{"firstName":"Thomas","lastName":"Carter" }]';

    var arrayJson = JSON.parse(txt);

    var html='';

    for(var p in arrayJson){

    html+=' firstName:'+arrayJson[p].firstName;

    html+=' lastName'+arrayJson[p].lastName;

    html+='<br />';

    }

    document.getElementById("result").innerHTML= html;

    </script>

    </body>

    </html>

    ie8(兼容模式),ie7和ie6沒(méi)有JSON對(duì)象,不過(guò)http://www.json.org/js.html提 供了一個(gè)json.js,這樣ie8(兼容模式),ie7和ie6就可以支持JSON對(duì)象以及其stringify()和parse()方法;你可以在 https://github.com/douglascrockford/JSON-js上獲取到這個(gè)js,一般現(xiàn)在用json2.js。

    ie8(兼容模式),ie7和ie6可以使用eval()將字符串轉(zhuǎn)為JSON對(duì)象,

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

    var cToObj=eval("("+c+")");

    alert(typeof(cToObj));

    以上內(nèi)容是針對(duì)JS中JSON對(duì)象和String之間的互轉(zhuǎn)及處理技巧,希望對(duì)大家有所幫助。接下來(lái)給大家補(bǔ)充點(diǎn)知識(shí)JavaScript中String和JSON之間的轉(zhuǎn)換。

    下面給大家介紹w3c標(biāo)準(zhǔn)的瀏覽器(如火狐、chrome等)是有一個(gè)對(duì)象JSON(注意是大寫)專門用來(lái)處理json的。這個(gè)對(duì)象有兩個(gè)函數(shù):

    JSON.parse(text) //用于解析json;

    JSON.stringify(object) //用于生成json格式;

    早期的IE版本沒(méi)有這個(gè)對(duì)象,可以去json的官方網(wǎng)站自行下載json2.js對(duì)付早期IE版本http://www.JSON.org

    下面是之前的一些方法,現(xiàn)在可以棄用了

    1.舊方法

    function strToJson(str){

    var json = eval('(' + str + ')');

    return json;

    }

    2.常用

    function strToJson(str){

    return (new Function("return " + str))();

    }

    3.IE不支持的方法

    function strToJson(str){

    return JSON.parse(str);

    }

    4.jQuery方法

    parseJSON: function( data ) {

    if ( typeof data !== "string" || !data ) {

    return null;

    }

    data = jQuery.trim( data );

    if ( /^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@")

    .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]")

    .replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {

    return window.JSON && window.JSON.parse ?

    window.JSON.parse( data ) :

    (new Function("return " + data))();

    } else {

    jQuery.error( "Invalid JSON: " + data );

    }

    },

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:JS中JSON對(duì)象和String之間的互轉(zhuǎn)及處理技巧
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)