<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>將json對象轉成字符串 - Lellansin</title> <script> var jsonObj = { "qq":"321321321", "MSN":"asdf@asdf.com", "Tel":"0852-8888888" }; var jStr = "{ "; for(var item in jsonObj){ jStr += "'"+item+"':'"+jsonObj[item]+"',"; } jStr += " }"; alert(jStr); </script> </head> <body> </body> </html>
最近寫了一個表單里面要存的一個字段是使用json字符串格式存的,從數據庫里面取下來的時候用的倒是挺爽,可是要存就有點麻煩了,當時一下子沒有想到,后來去百度了一下,結果搜到的是用正則來拼接的,感覺挺麻煩的。隨后跟別人討論的過程中突然就想到了這樣的辦法,方法本身挺簡單的,就只是網上搜不到,一下子也沒想到罷了,這里做個記錄,各位看着覺得簡單也就見笑了。
除此之外還可以使用toJSONString()或者全局方法JSON.stringify()將JSON對象轉化為JSON字符串。
例如:
var last=obj.toJSONString(); //將JSON對象轉化為JSON字符
或者
var last=JSON.stringify(obj); //將JSON對象轉化為JSON字符 alert(last);
不過需要注意的是,處理json數據這些方法除了eval()函數是js自帶的之外,其他的很多處理json的函數,版本都比較新,可能會出現找不到方法的錯誤。一般來講的話,我們都還是要勁量把客戶的環境考慮的惡劣一些,所以,還是推薦用最開始的方法。
PS:最后一個會多出來一個","號,為了讓代碼看起來更簡單沒有處理.
實際上逗號是一定要刪掉的,目前已經發現在IE7下會報錯