數據類型和JSON格式


https://segmentfault.com/a/1190000000668072#articleHeader7

什么是JSON

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

JSON的形式是用大括號“{}”包圍起來的項目列表,每一個項目間用逗號(,)分隔,而項目就是用冒號(:)分隔的屬性名和屬性值。這是典型的字典表示形式,也再次表明javascript里的對象就是字典結構。不管多么復雜的對象,都可以用一句JSON代碼來創建並賦值。在JSON中,名稱/值對 包括字段名稱(在雙引號中),后面寫一個冒號,然后是值

JSON 結構

JSON有兩種結構

json簡單說就是javascript中的對象和數組,所以這兩種結構就是對象和數組兩種結構,通過這兩種結構可以表示各種復雜的結構

1、對象:對象在js中表示為“{}”括起來的內容,數據結構為 {key:value,key:value,...}的鍵值對的結構,在面向對象的語言中,key為對象的屬性,value為對應的屬性值,所以很容易理解,取值方法為 對象.key 獲取屬性值,這個屬性值的類型可以是 數字、字符串、數組、對象幾種。

2、數組:數組在js中是中括號“[]”括起來的內容,數據結構為 ["java","javascript","vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數字、字符串、數組、對象幾種。
經過對象、數組2種結構就可以組合成復雜的數據結構了。

JSON 語法規則

JSON 語法是 JavaScript 對象表示法語法的子集。

數據在名稱/值對中
數據由逗號分隔
花括號保存對象
方括號保存數組

JSON 值可以是:

數字(整數或浮點數)
字符串(在雙引號中)
邏輯值(true 或 false) 數組(在方括號中) 對象(在花括號中) null 

​除以上6種外,再無其他,沒有像js一樣的undefined、NAN

1) 並列的數據之間用逗號(", ")分隔。 2) 映射用冒號(": ")表示。 3) 並列數據的集合(數組)用方括號("[]")表示。 4) 映射的集合(對象)用大括號("{}")表示。 

對象是一套無序的名/值對,一個對象以左邊分支開始,以右邊分支結束

一個值可以是用雙引號括起來的字符串,或者是一個數值,一個true or false ,一個數組或者一個對象

JSON與對象字面量

在編程語言中,字面量是一種表示值的記法。
JSON規定鍵-值對中的必須用雙引號! 引號。例如:

{"first name" : "Mike"}; 

JSON字符串中,不能使用函數或者正則表達式字面量

數據類型:

從結構上看,所有的數據(data)最終都可以分解成三種類型:

第一種類型是標量(scalar),也就是一個單獨的字符串(string)或數字(numbers),比如"北京"這個單獨的詞。 第二種類型是序列(sequence),也就是若干個相關的數據按照一定順序並列在一起,又叫做數組(array)或列表(List),比如"北京,上海"。 第三種類型是映射(mapping),也就是一個名/值對(Name/value),即數據有一個名稱,還有一個與之相對應的值,這又稱作散列(hash)或字典(dictionary),比如"首都:北京"。 

在編程語言中,只要有了數組(array)和對象(object)就能夠儲存一切數據了。

數組和對象的另一個區別是,數組的數據沒有"名稱"(name),對象的數據有"名稱"(name)。

JavaScript中有5種簡單數據類型(也稱為基本數據類型):UndefinedNullBooleanNumberString。還有1種復雜數據類型——ObjectObject本質上是由一組無序的名值對組成的。

對一個值使用typeof操作符可能返回下列某個字符串:

 
"undefined"——如果這個值未定義; "boolean"——如果這個值是布爾值; "string"——如果這個值是字符串; "number"——如果這個值是數值; "object"——如果這個值是對象或null; "function"——如果這個值是函數;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM