json 数据格式
什么是json
- JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据
- JSON本质上是一个带有特定格式的字符串
主要功能: json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互。
json有什么用
- 各种编程语言存储数据的容器不尽相同,在Python中有字典dict这样的数据类型,而其它语言可能没有对应的字典。
为了让不同的语言都能够相互通用的互相传递数据,JSON就是一种非常良好的中转数据格式。如下图,以Python和C语言互传数据为例:

json格式数据转化
json格式的数据要求很严格,如下面所示:
1
2
3
4
5
|
# json数据的格式可以是(类字典):
{"name":"admin","age":18}
# 也可以是(类列表嵌套字典):
[{"name":"admin","age":18},{"name":"root","age":16},{"name":"retr0","age":20}]
|
Python数据和json数据的相互转化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 导入json模块
import json
# 准备符合json格式要求的python数据
data = [{"name":"张三","age":16},{"name":"李四","age":20}]
# 通过json.dumps(data)方法把python数据转化为了json数据
json1 = json.dumps(data)
# 通过json.loads(json1)方法把json数据转化为了python数据
data1 = json.loads(json1)
print(data,"类型为",type(data))
print(json1,"类型为",type(json1))
print(data1,"类型为",type(data1))
|
注意: 中文内容在转换为json时会出现编码问题,因此需要在json.dumps()中添加参数ensure_ascii=False,如下所示:
1
2
3
4
|
import json
data = [{"name":"张三","age":16},{"name":"李四","age":20}]
json1 = json.dumps(data,ensure_ascii=False)
print(json1)
|
pyecharts 入门
基础折线图
Quickstart:
1
2
3
4
5
6
7
8
9
10
|
# 导包,导入Line功能构建折线图对象
from pyecharts.charts import Line
# 得到折线图对象
line = Line()
# 添加x轴数据
line.add_xaxis(["中国","美国","英国"])
# 添加y轴数据
line.add_yaxis("GDP",[30,20,10])
# 生成图表
line.render()
|
输出了文件render.html我们打开,如图所示:

全局配置
通过全局配置我们可以修改图标的标题,图例,工具箱,视觉映射,鼠标悬浮提示框,区域缩放等配置项
设置全局配置项set_global_opts来设置
所以我们要额外导入pyecharts的一个方法"options"
1
|
from pyecharts.options import *
|
例如:
1
2
3
4
5
6
7
8
9
|
line.set_global_opts(
title_opts=TitleOpts(title="GDP展示",pos_left="center",pos_bottom="1%"),
# 参数title设置标题文字,pos_left设置横向位置,pos_bottom设置距离底部位置
legend_opts=LegendOpts(is_show=True),
# 设置图例是否显示
toolbox_opts=ToolboxOpts(is_show=True),
# 设置工具箱是否显示
visualmap_opts=VisualMapOpts(is_show=True),
)
|
此处仅展示部分,更多请查看官方文档全局配置项 - pyecharts - Python Echarts Plotting Library built with love.
现在我们将上面的两部分代码整合起来:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
from pyecharts.charts import Line
from pyecharts.options import *
# 得到折线图对象
line = Line()
# 添加x轴数据
line.add_xaxis(["中国","美国","英国"])
# 添加y轴数据
line.add_yaxis("GDP",[30,20,10])
line.set_global_opts(
title_opts=TitleOpts(title="GDP展示",pos_left="center",pos_bottom="1%"),
# 参数title设置标题文字,pos_left设置横向位置,pos_bottom设置距离底部位置
legend_opts=LegendOpts(is_show=True),
# 设置图例是否显示
toolbox_opts=ToolboxOpts(is_show=True),
# 设置工具箱是否显示
visualmap_opts=VisualMapOpts(is_show=True),
)
# 生成图表
line.render()
|
结果如下:
