【Python与AI基础】Python编程基础:处理JSON数据

50 阅读2分钟

【Python与AI基础】Python编程基础:处理JSON数据

www.bilibili.com/video/BV1oe…

一、 课程简介

JSON即“JavaScript Object Notation”的简写,中文名称为:“JS对象标记”。是一种轻量级的数据交换格式,属于JS一个子集。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率,是目前在互联网上进行数据传输的重要手段。本实验主要为大家介绍JSON数据格式以及如何利用Java代码对JSON数据进行处理。

二、课程目标
  1. 理解JSON数据格式的定义规范及关键要素。
  2. 熟练使用Python代码将字符串转换为JSON数据。
  3. 熟练使用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)