首頁 >web前端 >js教程 >javascript json字串如何轉換成對象

javascript json字串如何轉換成對象

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-04-08 18:26:4224187瀏覽

轉換方法:1、使用「JSON.parse()」方法,語法「JSON.parse(有效JSON字串)」;2、使用「JSON.stringify()」方法,語法「JSON. stringify(有效JSON字串)」。

javascript json字串如何轉換成對象

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

在實際專案中,常遇到字元格式的問題,記下來以便日後方便查看。用到兩個函數:JSON.stringify()JSON.parse()

使用ajax向後台請求數據,後台給前端返回數據,明明後端腳本寫的是json函數處理後的json格式,但是前端接收數據時,卻時而是object,時而是字符串,令人百思不得其解。具體原因我還不是很清楚。

在資料傳輸過程中,json是以文本,即字串的形式傳遞的,而JS操作的是JSON物件。所以,JSON物件和JSON字串之間的相互轉換是關鍵。

例如:

JSON字串:

var str1 = '{ "name": "cxh", "sex": "man" }';

JSON物件:

var str2 = { "name": "cxh", "sex": "man" };

一、JSON字串轉換為JSON物件

要使用上面的str1,必須使用下面的方法先轉換成JSON物件:

//由JSON字串轉換為JSON物件

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

var obj = str.parseJSON(); //由JSON字符串转换为JSON对象

var obj = JSON.parse(str); //由JSON字符串转换为JSON对象

然後,就可以這樣讀取:

Alert(obj.name);
Alert(obj.sex);

特別注意:如果obj本來就是一個JSON對象,那麼使用eval()函數轉換後(哪怕是多次轉換)還是JSON對象,但是使用parseJSON()函數處理後會有問題(拋出語法異常)。

二、可以使用toJSONString()或全域方法JS​​ON.stringify()將JSON物件轉換為JSON字串。

例如:

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);

注意:

##上面的幾個方法中,除了eval()函數是js自帶的之外,其他的幾個方法都來自json.js套件。新版的JSON 修改了API,將JSON.stringify() 和JSON.parse() 兩個方法都注入到了Javascript 的內建物件裡面,前者變成了Object.toJSONString(),而後者變成了String. parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,則表示您的json套件版本太低。

###【推薦學習:###javascript影片教學###】 ###

以上是javascript json字串如何轉換成對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn