- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > JavaScript >
- JSON.stringify的多種用法總結
用過(guò) json 的應該都知道,把一個(gè)對象通過(guò) stringify 之后提交給后臺是很常用的手段。但是 IE6-7 下沒(méi)有 JSON 對象,所以要借助來(lái)實(shí)現。
var data = [ {name: "悟空", sex:1, age: 30}, {name: "八戒", sex:0, age: 20}, {name: "唐僧", sex:1, age: 30} ];//JavaScript數組中包含對象 //將JavaScript對象轉換為JSON格式的字符串 var str_json = JSON.stringify(data); console.log(str_json); //運行結果為: //[{"name":"悟空","sex":1,"age":30},{"name":"八戒","sex":0,"age":20},{"name":"唐僧","sex":1,"age":30}]
So easy! 這個(gè)也是我們最常用的方式
比如說(shuō),我們的數據非常復雜,還有類(lèi)似頭像,昵稱(chēng),個(gè)人簽名之類(lèi)的信息??墒俏冶4嬖诒镜?,只需要用戶(hù)名和性別,如果操作呢?我們可以通過(guò)提供的第二參數搞定,遍歷數據重新提取下即可。
a.傳統方式提取數據思路
var data = [ {name: "悟空", sex:1, age: 30}, {name: "八戒", sex:0, age: 20}, {name: "唐僧", sex:1, age: 30} ]; //傳統方式提取數據 var new_data = []; for (var i=0, new_data=[]; i<data.length; i++) { //構建行的數組 new_data.push({ name: data[i].name, sex: data[i].age }); } var str_json = JSON.stringify(new_data); console.log(str_json);
b.使用stringify的第二參數搞定提取數據
var data = [ {name: "悟空", sex:1, age: 30}, {name: "八戒", sex:0, age: 20}, {name: "唐僧", sex:1, age: 30} ]; var str_json = JSON.stringify(data,["name","age"]); console.log(str_json); //運行結果 //[{"name":"悟空","age":30},{"name":"八戒","age":20},{"name":"唐僧","age":30}]
第二個(gè)參數只要傳入需要的keys數組,就非常輕松的就完成這種處理了。
當然如果我們要更糾結的處理,比如要把 1,0 修改為男女,那么第二個(gè)參數可以用回調函數來(lái)處理。
var data = [ {name: "悟空", sex:1, age: 30}, {name: "八戒", sex:0, age: 20}, {name: "唐僧", sex:1, age: 30} ]; var str_json = JSON.stringify(data,function (key, value) { if(key==="sex"){ return ["男生","女生"][value]; } return value; }); console.log(str_json); // [{"name":"悟空","sex":"女生","age":30},{"name":"八戒","sex":"男生","age":20},{"name":"唐僧","sex":"女生","age":30}]
非常雞肋的一個(gè)參數,基本沒(méi)有用過(guò),看自己的情況!
var data = [ {name: "悟空", sex:1, age: 30}, {name: "八戒", sex:0, age: 20}, {name: "唐僧", sex:1, age: 30} ]; var str_json = JSON.stringify(data,["name","sex"],"\t"); console.log(str_json); /* [ { "name": "悟空", "sex": 1 }, { "name": "八戒", "sex": 0 }, { "name": "唐僧", "sex": 1 } ] */
不懂請查看api
…
到此這篇關(guān)于JSON.stringify用法的文章就介紹到這了,更多相關(guān)JSON.stringify用法內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站