【Python与AI基础】Python编程基础:处理JSON数据
一、 课程简介
JSON即“JavaScript Object Notation”的简写,中文名称为:“JS对象标记”。是一种轻量级的数据交换格式,属于JS一个子集。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率,是目前在互联网上进行数据传输的重要手段。本实验主要为大家介绍JSON数据格式以及如何利用Java代码对JSON数据进行处理。
二、课程目标
- 理解JSON数据格式的定义规范及关键要素。
- 熟练使用Python代码将字符串转换为JSON数据。
- 熟练使用Python代码将JSON数据转换为字符串。
三、JavaScript中处理JSON
1、 JavaScript的数组与对象
在JavaScript中,可使用中括号来定义一个数组,与Python中利用中括号来定义一个列表相似。比如我们定义一个用户姓名的数组,方式如下:
var users = ["张三", "李四", "王五", "赵六", "田七"];
另外,在JavaScript中也可以利用大括号来定义一个对象,与Python中定义一个字典对象相似,定义方式如下:
var user1 = {name:"张三", sex:"男", age:30, phone:"18012345678",addr:"成都"}; var user2 = {name:"李四", sex:"女", age:25, phone:"13012365659",addr:"重庆"};
就像我们可以在数组中保存Map对象,也可以在Map中保存数组对象一样。在JavaScript中我们同样可以混合使用,比如我们可以在JavaScript中定义如下的对象:
var users = [{name:"张三", sex:"男", age:30, phone:"18012345678",addr:"成都"}, {name:"李四", sex:"女", age:25, phone:"13012365659",addr:"重庆"}]; 或: var users = {user1:["张三","男",30,"18012345678","成都"], user2:["李","妇",25,"13012365659","重庆"]};
上述的数据定义格式,便构成了JSON数据格式的基础,并且JSON数据格式为了在网络上方便地进行传输,都是以一个标准的字符串类型或JSON数据类型存在。
四、Python中处理JSON
import json
from exercise.common import query_mysql
row_list = query_mysql("select username, password, role from user where userid < 6")
print(row_list)
print(type(row_list))
# 将Python对象序列化成字符串
jsonstr = json.dumps(row_list)
print(jsonstr)
print(type(jsonstr))
# 将JSON字符串反序列化成Python对象
source = '[{"username": "woniu", "password": "123456", "role": "editor"}, ' \
'{"username": "qiang", "password": "654321", "role": "editor"}]'
jsonobj = json.loads(source)
print(jsonobj[1]['username'])
# json库还有 json.load和json.dump,用于操作文件
with open("./jsonstring.txt", mode='w') as f:
json.dump(row_list, f)