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

歡迎訪問 生活随笔!

生活随笔

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

javascript

JSON的使用・小结

發布時間:2025/7/14 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSON的使用・小结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JSON--JavaScript Object Notation (JavaScript對象表示法)


初始JSON的人很容易弄混對象與JSON(我也是剛剛弄清楚 ⊙﹏⊙)。

JSON是一種數據格式,經常有人說什么"把數據變成JSON對象然后@#¥……@¥"。
對象不一定是JSON格式,而JSON格式的數據(以下簡稱JSON數據)則一定是對象(簡單的數據,如1,"ABCD"都算是JSON格式,這里暫且忽略之)
JSON格式是以key-value的形式存放數據的 如:

{"name":"Rose","age":25,"family":{"brother":"Who"} }

這當中value可以是數字,字符串,數組,甚至null,但不能為undefined,function,對象實例和變量,否則該屬性會被無視掉。例:

var p = {"name":"Rose","family":undefined,"age":25,"sex":function(){} } JSON.stringify(p);//-->'{"name":"Rose","age":25}' //這里的JSON.stringify是EcmaScript5提供的,JSON是一個處理JSON數據的對象(IE8+ & 其他主流瀏覽器)。

JSON對象有兩個方法parse()和stringify();

①JSON.parse(str)是將字符串str轉換成JSON數據.如

JSON.parse('{"name":"Ray","age":18}')-->{"name":"Ray","age":18}

②JSON.stringify(json,arg2)將JSON數據序列化。

第一個參數json是JSON數據;
第二個參數是可選的,字符串數組或者函數。如果是數組的話則是只保留key值在數組中存在的屬性;函數的話,則可以對靈活的對value進行修改。例:

var json = {"name":"Ray","age":18,"friends":{"id":32,favorite:"TokyoHot"}} JSON.stringify(json,["age","id"]);//這個key僅限于第一層屬性,所以"id"會被無視 -->'{"age":18}'var json = {"name":"Ray","age":18} JSON.stringify(json,function(key,value){switch(key){case "name":return value.length;break;case "age":return +value + 10;break;default:return value;} }); -->'{"name":3,"age":28}'

③小拓展

通過JSON對象實現對象的深復制(因為使用了JSON對象的stringify方法,所以是有局限性的,對象中不能包含函數和對象實例)

var a = {A:4}; var b = JSON.parse(JSON.stringify(a));

?

字符串向JSON格式轉換的過程中,字符串里不能包含某些具有特殊含義的字符,否則會轉換失敗.例

var str = '{"name":"NothingGo\sRight"}'; JSON.parse(str);//這里會報錯。如果是用jQuery的Ajax獲取JSON的話,情況相同。

blacklist整理入下:

\0,\b,\n,\f,\r,
\t,\v,\u,\v,\x


?

通過使用eval轉換JSON格式數據的問題

因為JSON對象在低版本瀏覽器的普及度低,我們在將序列化的數據向JSON格式轉換時沒有用JSON對象,而是用eval和Function(這里就不講它了)。

eval的使用方法

var str = '{"Name":"Ray"}'; var json = eval("(" + str + ")");

這里的問題所在就是,初學者很容易就寫成如下格式

var json = eval(str);

結果就報出了令人疑惑的錯誤:SyntaxError: Unexpected token :
疑惑是因為左看右看str都是正確的格式啊,而冒號也沒有問題。
其實真正的原因是使用者沒有了解eval的執行機制。
簡單的說eval就相當于直接把eval中的字符串當成javascript語句執行,再把返回值賦給前面的變量。
在js中括號括起來的部分會被強行變成表達式。即
var json = {"Name":"Ray"}
而大括號(最外層的)則被理解成包裹代碼塊的符號。也就是說只會執行大括號里面的內容。
這就成了 var json = "Name":"Ray";毫無疑問那個冒號會引起法錯誤。

?

轉載于:https://www.cnblogs.com/TiestoRay/archive/2012/11/15/2762536.html

總結

以上是生活随笔為你收集整理的JSON的使用・小结的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日日碰 | 亚洲欧美日韩综合在线 | 亚洲一区二区视频 | 国内自拍网站 | 精品1卡二卡三卡四卡老狼 日韩三级网 | 中国免费黄色片 | 午夜插插 | 男男h黄动漫啪啪无遮挡软件 | 中文字幕在线视频不卡 | 欧洲国产视频 | 2019自拍偷拍 | 黄色网炮 | 亚洲中文字幕无码av永久 | 伊人二区| www.亚洲一区二区三区 | 日韩第1页 | 性色福利| 日韩另类视频 | 17c精品麻豆一区二区免费 | www.天天射| 亚洲 欧美 日韩 在线 | 哪个网站可以看毛片 | 一级黄色免费视频 | 亚洲精品中文字幕乱码三区 | 美痴女~美人上司北岛玲 | 免费成人蒂法网站 | 4438x亚洲 | jizz18欧美18| 91精品国产自产91精品 | 水果派解说av | a国产精品| 久久精选 | v8888av| 91精品婷婷国产综合久久蝌蚪 | 黄色片地址 | 两根大肉大捧一进一出好爽视频 | 成年人黄色免费网站 | 丰满人妻一区二区三区在线 | 一级特黄色片 | 老司机av导航 | 少妇高潮一区二区三区99小说 | 日韩人妻精品一区二区三区 | 日本人dh亚洲人ⅹxx | 免费看国产曰批40分钟粉红裤头 | 欲求不满的岳中文字幕 | 国产黄色一级片 | 天天干天天看 | a毛片在线 | 国产91黄色| 在线视频网 | 小草av在线 | 污视频在线观看免费 | 性欧美在线视频观看 | 热久久亚洲 | 黄色av网站在线 | 成年人三级网站 | 99视频精品免费 | 国产一区在线免费 | 婷婷爱爱 | 又黄又刺激的视频 | 中文字幕第9页 | 九九这里只有精品视频 | brazzers欧美极品少妇 | 日韩精品人妻中文字幕有码 | 大香伊人久久 | 日本大尺度做爰呻吟 | 欧美性猛交xxx乱久交 | 9人人澡人人爽人人精品 | 老熟妇精品一区二区三区 | 亚洲人人精品 | 久久免费视屏 | 青青国产精品 | 午夜a视频 | 色老二导航 | 恶虐女帝安卓汉化版最新版本 | 欧美在线视频精品 | 老鸭窝成人 | 一区二区日韩视频 | 日韩大尺度在线观看 | 国内少妇精品 | 爱情岛论坛亚洲线路一 | 成人在线影视 | 能在线观看的av网站 | 夜夜狠狠 | 嫩草视频在线观看 | 欧美精品一区二区免费看 | 色老头综合网 | 国产欧美色图 | 国产成人午夜 | 伊人ab| 69视频在线播放 | 激情 小说 亚洲 图片 伦 | 久久精品视频播放 | 成人夜色视频 | 无人在线观看高清视频 | 亚洲专区在线播放 | 日韩无套无码精品 | 欧美激情视频一区二区三区在线播放 | 超碰毛片 |