js 中讀取JSON的方法探討

字號:


    示例如下:
    代碼如下:
    <script type="text/javascript" language="javascript">
    var languages = {
    cn:{
    lang:'ch',
    name:"中文"
    },
    en:{
    lang:"英文",
    name:"en"
    }
    };
    document.write(languages.cn.name);
    </script>
    代碼如下:
    =====================================================================
    請問有沒有詳細(xì)的js讀取json的例子方法
    //根據(jù)city獲得name
    function getNameByCity(city)
    {
    var cityName =
    {
    "0556":"安慶市",
    "0372":"安陽市",
    };
    return cityName[city];
    }
    =====================================================================
    js 中讀取JSON的方法探討
    js讀取JSON的方法我接觸到的有兩種:
    方法一:函數(shù)構(gòu)造定義法返回
    var strJSON = "{name:'json name'}";//得到的JSON
    var obj = new Function("return" + strJSON)();//轉(zhuǎn)換后的JSON對象
    alert(obj.name);//json name
    方法二:js中著名的eval函數(shù)
    var strJSON = "{name:'json name'}";//得到的JSON
    var obj = eval( "(" + strJSON + ")" );//轉(zhuǎn)換后的JSON對象
    alert(obj.name);//json name
    第二種方法需要注意的是,對象表達(dá)式{'name':'json name'}必須用“()”擴(kuò)住,否則
    var strJSON = "{name:'json name'}";
    var obj = eval(strJSON);
    alert(obj.constructor);//String 構(gòu)造函數(shù)
    alert(obj.name);//undefine
    必須把對象表達(dá)式擴(kuò)起來eval執(zhí)行才能生成一個(gè)匿名對象!