Python统计可视化之Altair探索分析实践指南(全彩版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 JSON简介

JSON(JavaScript Object Notation,JavaScript对象表示法)是存储和交换文本信息的语法,也是易于阅读的纯文本语言。下面的JSON文件(*.json)是真正可供阅读的格式。

即使对JSON语法规则一无所知,也可以了解汽车名称("Name")是“buick skylark 320”的很多信息,例如,耗油量、马力,气缸数量、加速性能等。这与Python数据结构中的字典相似,也是一系列的键都有相对应的值,以键值对作为基本组成单元。但是,JSON的语法规则也有一些不同的地方。

1.4.1 JSON语法规则

JSON对象以键值对为基本组成单位,每个键值对用冒号分隔,不同键值对之间以逗号分隔,使用花括号{}表示对象,对象中可以包含多个键值对,格式如下所示。

d={key1:value1,key2:value2,…,keyN:valueN}

注意:JSON对象中的键必须是字符串,而且字符串必须在双引号中。例如,{"Visualization":"Altair"},这也是基本的JSON对象格式。

JSON对象中的值可以是字符串、数字(整数或浮点数)、对象、数组、布尔值(true或false)或null,如表1.1所示。

表1.1

综合使用JSON对象的值数据类型,如下所示。

在对象中,值可以是数组,使用方括号[]表示数组,数组中可以包含若干对象,格式如下所示。

1.4.2 在Altair中使用JSON

在Altair中,使用的数据集格式可以是JSON格式的对象列表,这是对象Data的关键字参数values的参数值。例如,本地数据集中的JSON文件cars.json就是一个JSON格式的观察记录列表,如下所示。

数据集cars.json中的每个对象就是一条观测记录,也就是一条case(见图1.2),就是一行记录,全部观测记录组成数据集。在图1.2中,每个变量的取值对应的每列数据,分别作为数据集cars.json中的每个对象的相同键不同值的键值对。也就是说,每个对象包括全部变量,这些变量的一组取值(图1.2中的一行记录)作为这个对象的相应键的对应值。