Aray&Json相互変換js

1272 ワード

Jsonデータを作成します
var data = { sid : 1 };
data.webname = '    ';
 
eval()関数は、文字列をJavaScript表現のように実行できます.
1,eval方式の解析はおそらくこれが一番早い解析方式です. 
<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オブジェクトを使用します.
function strToJson(str){
    return JSON.parse(str);
}
 現在、IE 8(S)/Firefox 3.5+/Chrome 4/Safari 4/Opera 10が実装されている.JSON.parseを使用するには、JSON規格を厳格に遵守しなければなりません.属性は引号で起こされる必要があります.以下の通りです.
var str = '{name:"jack"}';
var obj = JSON.parse(str); // --> parse error
nameは引用符を使っていません.JSON.parseを使ってすべてのブラウザに異常を投げました.解析に失敗しました.前の二つの方法は大丈夫です.