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

相关文章
相关标签/搜索