Spark项目之电商用户行为分析大数据平台之(十一)JSON及FASTJSON详解大数据

一、概述

JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没 有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据 多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。这篇文章主要从以下几个方 面来说明JSON。

二、JSON的结构

2.1 简单值

简单值使用与javascript相同的语法,可以在JSON中表示字符串、数值、布尔值和null

字符串必须使用双引号表示,不能使用单引号。数值必须以十进制表示,且不能使用NaN和Infinity

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

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

 

2.2 对象

对象作为一种复杂数据类型,表示的是一组有序的键值对儿。而每个键值对儿中的值可以是简单值,也可以是复杂数据类型的值(其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组)

与javascript的对象字面量相比,JSON有三个不同的地方

  1、JSON没有变量的概念

  2、JSON中,对象的键名必须放在双引号里面

  3、因为JSON不是javascript语句,所以没有末尾的分号

  [注意]同一个对象中不应该出现两个同名属性

//合格的对象 
{ 
    "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    
    } 
]

 

三、JSON详解

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

四、FastJson

https://www.cnblogs.com/cdf-opensource-007/p/7106018.html

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/9017.html

(0)
上一篇 2021年7月19日 09:04
下一篇 2021年7月19日 09:04

相关推荐

发表回复

登录后才能评论