欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JSON相關(guān)知識匯總

 更新時間:2015年07月03日 11:32:12   投稿:hebedich  
本文給大家匯總了一下關(guān)于json的相關(guān)的知識點,從基礎(chǔ)到示例,非常全面,有需要的小伙伴可以參考下。

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

JSON 語法規(guī)則
  數(shù)據(jù)在名稱/值對中
  數(shù)據(jù)由逗號分隔
  花括號保存對象
  方括號保存數(shù)組

JSON有6種類型的值:

  對象、數(shù)組、字符串、數(shù)字、布爾值、null

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

  名字:任意字符串
  值:任意類型的JSON值,包括數(shù)組和對象(對象中可以嵌入對象)
注:JSON字符串必須使用雙引號(單引號會報錯)

一、對象

javascript中創(chuàng)建字面量:

var object = {
  name:"lily",
  age:22
};

或者:

var object = {
  "name":"lily",
  "age":22
}; 

JSON:

{
  "name":"lily",
  "age":22
} 

二、數(shù)組

JSON數(shù)組采用的是javascript中數(shù)組字面量形式
擴(kuò)展:
  把數(shù)組和對象結(jié)合起來可以構(gòu)成更復(fù)雜的數(shù)據(jù)結(jié)合
例如:

[
  {
    "name":"lily",
    "age":22,
    "job":"docter"
  },
  {
    "name":"nicy",
    "age":21,
    "job":"teacher"
  },
  {
    "name":"lily",
    "age":22,
    "job":"AE"
  }
]  

三、解析與序列化

JSON擁有和javascript類似的語法,可以把JSON數(shù)據(jù)結(jié)構(gòu)解析為有用的javascript對象

1.JSON對象

收發(fā)JSON數(shù)據(jù)

讀取、寫入、發(fā)送和接收J(rèn)SON數(shù)據(jù)對象時,需要轉(zhuǎn)換成字符串,并能從字符串轉(zhuǎn)換為JSON數(shù)據(jù)對象。(用于javascript相同的方式讀寫他們)

JSON對象有兩個方法:
 ?、?stringify(): 把javascript對象序列化為JSON字符串
 ?、?parse(): 把JSON字符串解析為原生的javascript值

實例:

var book = {
  title:"professional JavaScript",
  authors:[
    "lily"
  ],
  edition:3,
  year:2011
};
var jsonText = JSON.stringify(book);
alert(jsonText);   //{"title":"professional JavaScript","authors":["lily"],"edition":3,"year":2011}
alert(typeof jsonText);   //string
var bookCopy = JSON.parse(jsonText);
alert(typeof bookCopy);   //object 

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


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

2.序列化選項

JSON.stringify()在序列化javascript對象時,可以接收兩個參數(shù)
  參數(shù)一:過濾器,可以是一個數(shù)組或函數(shù)
  參數(shù)二:一個選項,表示是否在JSON字符串中保留縮進(jìn)
1)過濾結(jié)果
如果過濾器的參數(shù)是數(shù)組,那么JSON.stringify()的結(jié)果中只包含數(shù)組中列出的屬性
例如:

var book = {
  "title":"professional JavaScript",
  "authors":[
    "lily"
  ],
  edition:3,
  year:2011
}; 
var jsonText = JSON.stringify(book,["title","edition"]);
alert(jsonText); //{"title":"professional JavaScript","edition":3}
alert(typeof jsonText); // string 

2)字符串縮進(jìn):
JSON.stringify()方法的第三個參數(shù)用于控制結(jié)果中的縮進(jìn)和空白符
3)toJSON()方法
給對象定義toJSON()方法,可以返回其自身的JSON數(shù)據(jù)格式

四、JSON訪問值

第一種:簡單數(shù)組
['item1','item2','item3']
取值:通過數(shù)字索引訪問嵌入的值(第一項的索引為0)

['item1','item2','item3']
var items = ['item1','item2','item3'];
alert(items[0]);     // item1  
第二種:使用{}表示對象和符合數(shù)組
{ "key":"value" }
取值:通過鍵名訪問嵌入的值

var oExample = { "name":"lily" };
alert(oExample.name);     // lily
alert(oExample["name"]);     // lily  
使用這兩種方式,可以用子記錄(帶命名的或數(shù)值的索引鍵)描述很多數(shù)據(jù)結(jié)構(gòu):

例如:

var oNovelist = {
  "firstName":"lily",
  "lastName":"russ",
  "novels":
      [
        {
          "title":"and choas died",
          "year":"1970"
        },
        {
          "title":"the famale man",
          "year":"1976"
        }
      ]
}; 
var msg = oNovelist.firstName+" "+oNovelist.lastName+"'s"+" "+oNovelist.novels[0].title+" "+"was published in"+oNovelist.novels[0].year;
alert(msg);   // lily russ's and choas died was published in1970  

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

相關(guān)文章

  • Javascript生成json的函數(shù)代碼(可以用php的json_decode解碼)

    Javascript生成json的函數(shù)代碼(可以用php的json_decode解碼)

    這幾天迷上了JSON,連項目中一些XML的工作都交給了JSON,話說JSON真的比XML方便的多啊
    2012-06-06
  • 打印json對象的內(nèi)容及JSON.stringify函數(shù)應(yīng)用

    打印json對象的內(nèi)容及JSON.stringify函數(shù)應(yīng)用

    json對象的內(nèi)容在調(diào)試的時候用的到通過JSON.stringify函數(shù),可以轉(zhuǎn)換json對象為字符串,接下來為大家詳細(xì)介紹下,感興趣的朋友可以參考下哈
    2013-03-03
  • JS對象與JSON格式數(shù)據(jù)相互轉(zhuǎn)換

    JS對象與JSON格式數(shù)據(jù)相互轉(zhuǎn)換

    最近遇到這個問題,JS對象和JSON格式數(shù)據(jù)的相互轉(zhuǎn)換。其實,也就是兩個問題:JS對象轉(zhuǎn)換成為JSON格式數(shù)據(jù)、JSON格式數(shù)據(jù)轉(zhuǎn)換成為JS對象
    2012-02-02
  • 一文了解什么是JWT

    一文了解什么是JWT

    JSON?WEB?Token是一種基于JSON的、用于在網(wǎng)絡(luò)上聲明某種主張的令牌,由三部分組成:?頭信息,?消息體和簽名,下面就一起來了解一下什么是JWT
    2023-05-05
  • ASP Json Parser修正版

    ASP Json Parser修正版

    之前因為要用json,在網(wǎng)上,json Generator就不少,但是,parser鮮有后來,在一個老外的啟發(fā)下,寫了一個praser,其實超簡單,就是利用了JS的eval來parse,然后,把對象再返回給vbscript代碼。
    2009-12-12
  • JSON 客戶端和服務(wù)器端的格式轉(zhuǎn)換

    JSON 客戶端和服務(wù)器端的格式轉(zhuǎn)換

    JSON是JavaScript Object Notation的縮寫。JSON是個輕量級的用于服務(wù)器端和客戶端交換數(shù)據(jù)的數(shù)據(jù)格式。它經(jīng)常會用在ajax應(yīng)用上,是因為它是基于ajax對象的格式定義出來的。
    2009-08-08
  • 教你如何使用PHP輸出中文JSON字符串

    教你如何使用PHP輸出中文JSON字符串

    PHP 和 JavaScript 交互其實很方便,PHP 原生也提供了對 JSON 格式的支持。主要包括 JSON 編碼和解碼兩個函數(shù):
    2014-05-05
  • 深入分析jsonp協(xié)議原理

    深入分析jsonp協(xié)議原理

    JSONP的最基本的原理是:動態(tài)添加一個<script>標(biāo)簽,而script標(biāo)簽的src屬性是沒有跨域的限制的。這樣說來,這種跨域方式其實與ajax XmlHttpRequest協(xié)議無關(guān)了。
    2015-09-09
  • 寫給小白學(xué)習(xí)的地理信息的表示法GeoJSON

    寫給小白學(xué)習(xí)的地理信息的表示法GeoJSON

    這篇文章主要為大家介紹了寫給小白學(xué)習(xí)的地理信息的表示法GeoJSON的詳細(xì)實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Ajax+Json 級聯(lián)菜單實現(xiàn)代碼

    Ajax+Json 級聯(lián)菜單實現(xiàn)代碼

    Ajax+Json 級聯(lián)菜單實現(xiàn)代碼,需要的朋友可以參考下。
    2009-10-10

最新評論