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

相關文章
相關標籤/搜索