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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

js中 json详解

發布時間:2023/12/9 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js中 json详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
var aa ={name:"zoumm",age:23};var bb = JSON.stringify(aa);console.log(bb); //打印出{"name":"zoumm","age":23}

?

?

json的語法可以表示以下三種類型的值。

1、簡單值:可以在json中表示字符串、數值、布爾和null。

2、對象:對象作為一種復雜的數據類型,表示一組有序的鍵值對兒。

3、數組:數組也是一種復雜的數據類型,表示一組有序的值列表,可以通過數值索引來訪問其中的值。

json不支持變量、函數或對象實例,它就是一種表示結構化數據的格式。

1.1:簡單值:

如下10,“aa”,json字符串與js字符串最大的區別是json字符串必須使用雙引號布爾與null也是有效的json形式。

2.1:對象

對象字面量一般寫法是:

1

2

3

4

5

6

var?aa ={

?????name:"zoumm",

????job :"it",

????age :25

???

};

  json對象一般這樣寫的:

{"name":"zoumm","job":"it","age":23,"school":{"name":"大學名",“add”:"中國"}}

他們的區別是,json對象不用定義變量,末尾不用寫分號,切所有的屬性名必須加雙引號;

3.1:數組

一般數組是這樣定義的:

var aa = [23,"zoumm"];

json數組是這樣定義的

[ 23,"zoumm" ]

他們的區別是,json數組不用定義變量,末尾不用寫分號;

在Jquery中實現ajax用post請求后臺json數據時,返回了一個html,而不是想要的Json數據,這個問題郁悶了一上午,在網上查的方法一沒用。最后終于發現是因為在service方法中引用了“super.service();” 這句話。去掉就解決了。

  下面進入正題:js中如何操作json數據。

一、要想熟練的操作json數據,就先要了解json數據的結構,json有兩種結構:對象和數組。

  1、對象?一個對象以“{”開始,“}”結束。每個“名稱”后跟一個“:”;“‘名稱/值’ 對”之間使用“,”分隔。 名稱用引號括起來;值如果是字符串則必須用括號,數值型則不需要。例如: ?var jsonObj={"str":"abc","intstr":1322323456,"max":6753,"time":"2012-10-19"};

? ? 2. 數組是值(value)的有序集合。一個數組以“[” 開始,“]”結束。值之間運用 “,”分隔。

??? 例如:var jsonList=[{"str":"abc","intstr":1322323456,"max":6753,"time":"2012-10-19"}, ? ? ? ? ? ? ? ? ?         {"str":"cde","intstr":782144556,"max":15400,"time":"2012-10-19"}];

二、JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,采用完全獨立于語言的文本格式,是理想的數據交換格式。json在傳輸過程中是以文本形式存在的,即字符串的形式。而在JS中需要操作的是對象,所以需要把json轉換成對象,一般用“eval()”函數來實現,例如?:var obj = eval('(' + json+ ')'); 這樣就可以隨意操作json了。

三、如果不知道jsonlist對象里的key和value怎樣來獲得其中的數據?

  for(var i=0;i<jsonList.length;i++){

?    for(var key in jsonList[i]){

????????   alert("key:"+key+",value:"+jsonList[i][key]);?

? ? ? ? ? ? ?}?

?  }?

用這種方法就可以解析json數據了。

json解析與序列化

1:json對象

?json對象有兩個方法stringify和parse,他們分別是把js對象序列化成json字符串,和把json字符串解析成原生js值,例如:

var aa ={name:"zoumm",age:23};var bb = JSON.stringify(aa);console.log(bb); //打印出{"name":"zoumm","age":23}

在序列化js對象時,所有函數與原型成員都會有意忽略,不體現在結果中,此外,值為undeined的任何屬性也會被跳過。例如:

var aa1 ={name:"zj",age:25,tmp:undefined,say:function(){ console.log(1); } };var bb1 = JSON.stringify(aa1); console.log(bb1); //打印{"name":"zj","age":25} }

將json字符串傳遞給json.parse,就得到js的值,如下:

var cc = JSON.parse(bb1);console.log(cc );//打印Object {name: "zj", age: 25}

雖然cc與aa1有相同的屬性,但是他們是獨立的,沒有任何關系的對象

2:序列化選項

JSON.stringify()還接受兩個參數,這兩個參數用于指定不同方式序列化js對象,第一個參數可以是對象也可以使函數,第二個是一個選項,表示是否在json字符串中保留 縮進,

?

var book = {name :"zoumm",age :23,job :"it"}var text = JSON.stringify(book,["name","job"]);//兩個參數,參數一:函數或者數組,參數二,截取的數據console.log(text)//打印 {"name":"zoumm","job":"it"}

?

?

?

總結

以上是生活随笔為你收集整理的js中 json详解的全部內容,希望文章能夠幫你解決所遇到的問題。

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