日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JS对象和JSON字符串相互转化总结

發布時間:2025/7/25 javascript 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS对象和JSON字符串相互转化总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在web開發中,一般情況下需要前端和服務器的交換數據,我們一般使用JSON來完成數據的傳輸,JavaScript操作的對象是一般是變量;因此我們需要將JSON字符串轉換為JS變量,下面總結JS對象和JSON字符串相互轉換的方法總結;

變量區分

//Json字符串 var json_str = '{"name":"xiao","age":12}'; //JS對象(字符串常量法): var js_obj = {name: "xiao", age: 12};//Josn對象: var json_obj = {"name":"xiao","age":12}; //json數組: var objArray = [{"name":"xiao","age":12}, {"name":"xiao","age":12}];

JSON對象和JS對象本質是一致的,至少內在表現形式是一樣的,如下圖所示:

JSON字符串->JS對象

JSON字符串轉換為JS對象大致有三種,分別是eval()原生函數,JSON提供的Parse方法,以及new Function方法,下面一一測試。

  • eaval()函數
//需要增加一對括號,避免語法錯誤,該方法存在性能和安全方面的問題,不建議使用。 //方法一: var json_obj_case1 = eval('(' + json_str+')');

加上圓括號的目的是迫使eval函數在處理JavaScript代碼的時候強制將括號內的表達式(expression)轉化為對象,而不是作為語句(statement)來執行,這是eval本身的問題。

  • Parse方法
//方法二: var json_obj_case2 = json_str.parseJSON(); var json_obj_case3 = JSON.parse(json_str);
  • new Function()方法
//方法三: var json_obj_case4 = (new Function("return " + json_str))();

以下是goole瀏覽器中轉換的測試結果:

JS對象->JSON字符串

相反的,我們也會遇到需要將JS對象轉換為字符串,傳遞給服務器,下面就是將JS對象轉換為JSON字符串,有兩種方法:

  • stringify函數
//方法一 var json_str_case1 = JSON.stringify(js_obj);
  • toJSONString函數
//方法二 var json_str_case2 = js_obj.toJSONString();

以下是JSON對象,JS對象轉換為JSON字符串的測試結果:

轉載于:https://www.cnblogs.com/jinxiang1224/p/8468293.html

總結

以上是生活随笔為你收集整理的JS对象和JSON字符串相互转化总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。