Spark項目之電商用戶行爲分析大數據平臺之(十一)JSON及FASTJSON

1、概述

JSON的全稱是」JavaScript Object Notation」,意思是JavaScript對象表示法,它是一種基於文本,獨立於語言的輕量級數據交換格式。XML也是一種數據交換格式,爲何沒 有選擇XML呢?由於XML雖然能夠做爲跨平臺的數據交換格式,可是在JS(JavaScript的簡寫)中處理XML很是不方便,同時XML標記比數據 多,增長了交換產生的流量,而JSON沒有附加的任何標記,在JS中可做爲對象處理,因此咱們更傾向於選擇JSON來交換數據。這篇文章主要從如下幾個方 面來講明JSON。javascript

2、JSON的結構

2.1 簡單值

簡單值使用與javascript相同的語法,能夠在JSON中表示字符串、數值、布爾值和nullhtml

字符串必須使用雙引號表示,不能使用單引號。數值必須以十進制表示,且不能使用NaN和Infinityjava

[注意]JSON不支持javascript中的特殊值undefined數組

//合格的簡單值
5
"hello world"
true
null
//不合格的簡單值
+0x1
'hello world' undefined NaN Infinity

 

2.2 對象

對象做爲一種複雜數據類型,表示的是一組有序的鍵值對兒。而每一個鍵值對兒中的值能夠是簡單值,也能夠是複雜數據類型的值(其中關鍵字是字符串,而值能夠是字符串,數值,true,false,null,對象或數組)函數

與javascript的對象字面量相比,JSON有三個不一樣的地方this

  一、JSON沒有變量的概念spa

  二、JSON中,對象的鍵名必須放在雙引號裏面.net

  三、由於JSON不是javascript語句,因此沒有末尾的分號code

  [注意]同一個對象中不該該出現兩個同名屬性htm

//合格的對象
{ "name":"huochai", "age":29, "school":{ "name":"diankeyuan", "location":"beijing" } }
//不合格的對象
{ name: "張三", 'age': 32 }//屬性名必須使用雙引號
{};//不須要末尾的分號
{ "birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'), "getName": function() { return this.name; } } // 不能使用函數和日期對象

 

2.3 數組

數組也是一種複雜數據類型,表示一組有序的值的列表,能夠經過數值索引來訪問其中的值。數組的值也能夠是任意類型——簡單值、對象或數組

JSON數組也沒有變量和分號,把數組和對象結合起來,能夠構成更復雜的數據集合

[注意]數組或對象最後一個成員的後面,不能加逗號

[ { key1:value1, key2:value2 }, { key3:value3, key4:value4 } ]

 

3、JSON詳解

https://www.cnblogs.com/passer00/p/6088925.html 

4、FastJson

http://www.javashuo.com/article/p-wnlfdvbm-ba.html

相關文章
相關標籤/搜索