麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

JSON相關知識匯總

2024-05-06 16:22:36
字體:
來源:轉載
供稿:網友

本文給大家匯總了一下關于json的相關的知識點,從基礎到示例,非常全面,有需要的小伙伴可以參考下。

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

JSON 語法規則

數據在名稱/值對中

數據由逗號分隔

花括號保存對象

方括號保存數組

JSON有6種類型的值:

對象、數組、字符串、數字、布爾值、null

JSON對象是一個容納“名/值”對的無序集合

名字:任意字符串

值:任意類型的JSON值,包括數組和對象(對象中可以嵌入對象)

注:JSON字符串必須使用雙引號(單引號會報錯)

一、對象

javascript中創建字面量:

 

  1. var object = { 
  2. name:"lily"
  3. age:22 
  4. }; 

或者:

 

 
  1. var object = { 
  2. "name":"lily"
  3. "age":22 
  4. };  

JSON:

 

 
  1. "name":"lily"
  2. "age":22 
  3. }  

二、數組

JSON數組采用的是javascript中數組字面量形式

擴展:

把數組和對象結合起來可以構成更復雜的數據結合

例如:

 

 
  1. "name":"lily"
  2. "age":22, 
  3. "job":"docter" 
  4. }, 
  5. "name":"nicy"
  6. "age":21, 
  7. "job":"teacher" 
  8. }, 
  9. "name":"lily"
  10. "age":22, 
  11. "job":"AE" 
  12. ]   

三、解析與序列化

JSON擁有和javascript類似的語法,可以把JSON數據結構解析為有用的javascript對象

1.JSON對象

收發JSON數據

讀取、寫入、發送和接收JSON數據對象時,需要轉換成字符串,并能從字符串轉換為JSON數據對象。(用于javascript相同的方式讀寫他們)

JSON對象有兩個方法:

① stringify(): 把javascript對象序列化為JSON字符串

② parse(): 把JSON字符串解析為原生的javascript值

實例:

 

 
  1. var book = { 
  2. title:"professional JavaScript"
  3. authors:[ 
  4. "lily" 
  5. ], 
  6. edition:3, 
  7. year:2011 
  8. }; 
  9. var jsonText = JSON.stringify(book); 
  10. alert(jsonText); //{"title":"professional JavaScript","authors":["lily"],"edition":3,"year":2011} 
  11. alert(typeof jsonText); //string 
  12. var bookCopy = JSON.parse(jsonText); 
  13. alert(typeof bookCopy); //object  

這個例子中使用JSON.stringify()把一個javascript對象book序列化為一個JSON字符串,然后保存到jsonText中;將JSON字符串jsonText直接傳給JSON.parse()就得到了相應的javascript值

注:序列化javascript對象時,最終值都是有效JSON數據類型的實例屬性,任何無效的值都會被跳過

2.序列化選項

JSON.stringify()在序列化javascript對象時,可以接收兩個參數

參數一:過濾器,可以是一個數組或函數

參數二:一個選項,表示是否在JSON字符串中保留縮進

1)過濾結果

如果過濾器的參數是數組,那么JSON.stringify()的結果中只包含數組中列出的屬性

例如:

 

 
  1. var book = { 
  2. "title":"professional JavaScript"
  3. "authors":[ 
  4. "lily" 
  5. ], 
  6. edition:3, 
  7. year:2011 
  8. };  
  9. var jsonText = JSON.stringify(book,["title","edition"]); 
  10. alert(jsonText); //{"title":"professional JavaScript","edition":3} 
  11. alert(typeof jsonText); // string  

2)字符串縮進:

JSON.stringify()方法的第三個參數用于控制結果中的縮進和空白符

3)toJSON()方法

給對象定義toJSON()方法,可以返回其自身的JSON數據格式

四、JSON訪問值

第一種:簡單數組

['item1','item2','item3']

取值:通過數字索引訪問嵌入的值(第一項的索引為0)

['item1','item2','item3']

var items = ['item1','item2','item3'];

alert(items[0]); // item1

第二種:使用{}表示對象和符合數組

{ "key":"value" }

取值:通過鍵名訪問嵌入的值

var oExample = { "name":"lily" };

alert(oExample.name); // lily

alert(oExample["name"]); // lily

使用這兩種方式,可以用子記錄(帶命名的或數值的索引鍵)描述很多數據結構:

例如:

 

 
  1. var oNovelist = { 
  2. "firstName":"lily"
  3. "lastName":"russ"
  4. "novels"
  5. "title":"and choas died"
  6. "year":"1970" 
  7. }, 
  8. "title":"the famale man"
  9. "year":"1976" 
  10. };  
  11. var msg = oNovelist.firstName+" "+oNovelist.lastName+"'s"+" "+oNovelist.novels[0].title+" "+"was published in"+oNovelist.novels[0].year; 
  12. alert(msg); // lily russ's and choas died was published in1970  

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 羞羞答答tv | 毛片免费一区二区三区 | 中文字幕在线观看网址 | 又黄又爽免费无遮挡在线观看 | 国产精品久久久不卡 | 一本色道久久综合狠狠躁篇适合什么人看 | 免费观看一区二区三区视频 | 国产盼盼私拍福利视频99 | 日本免费aaa观看 | 中文字幕一二区 | 亚洲一区二区三区日本久久九 | 国产精品999在线 | 欧美日韩在线中文字幕 | 国产免费一区二区三区在线能观看 | 草莓福利视频在线观看 | 激情福利视频 | 一区二区三区日韩 | 亚洲生活片 | 男女无套免费视频 | 国产精品999在线观看 | 久久精品视频16 | 一区国产精品 | 国产一区国产二区在线观看 | 国产91在线高潮白浆在线观看 | 久久久久99一区二区三区 | 久久电影一区二区 | 日韩一级精品 | 一区二区三区欧洲 | www亚洲| 双性精h调教灌尿打屁股的文案 | 久久99精品国产99久久6男男 | 亚洲草逼视频 | 黄污视频在线看 | h视频免费在线观看 | 国产青草网 | 久久国产精品区 | 国产chinesehd精品91 | 天堂成人一区二区三区 | 男女生羞羞视频网站在线观看 | 日本中文字幕高清 | 爱性久久久久久久 |