天天看點

Array & Json互相轉換js

建立json資料

Array & Json互相轉換js

var data = { sid : 1 };  

data.webname = '網站名稱';  

1,eval方式解析,恐怕這是最早的解析方式了。  

Array & Json互相轉換js

<script>  

eval("var b= 3");  

alert(b);  

function strtojson(str){  

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

    return json;  

}  

var str = '[{"uname":"王強","day":"2010/06/17"},{"uname":"王海雲","day":"2010/06/11"}]';   

var jsonlist= strtojson(str);  

for(var i=0;i<jsonlist.length;i++){  

    for(var key in jsonlist[i]){  

        alert("key:"+key+",value:"+jsonlist[i][key]);  

    }  

}   

</script>  

記得str兩旁的小括号 哦。

2,使用全局的json對象。

Array & Json互相轉換js

    return json.parse(str);  

 目前ie8(s)/firefox3.5+/chrome4/safari4/opera10 已實作了該方法。

使用json.parse需嚴格遵守json規範,如屬性都需用引号引起來,如下

Array & Json互相轉換js

var str = '{name:"jack"}';  

var obj = json.parse(str); // --> parse error  

name沒有用引号引起來,使用json.parse所有浏覽器中均抛異常,解析失敗。而前兩種方式則沒問題。