Python3快速入门(八)——Python3 JSON

Python3快速入门(八)——Python3 JSON

1、JSON简介

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,是基于ECMAScript的一个子集。

2、json模块简介

Python3 中可以使用 json 模块来对 JSON 数据进行编解码,包含两个函数:
json.dumps():?对数据进行编码。
json.loads():?对数据进行解码。
在json的编解码过程中,Python 的数据类型与json类型会相互转换。
json.dump():将数据保存为JSON文件
json.load():从JSON文件读取数据
Python数据类型编码为JSON数据类型转换表:
dict object
list,tuple array
str string
Int,float,enum number
True true
False false
None null
JSON解码为Python数据类型转换表:
object dict
array list
string str
number(int) int
number(real) float
true True
false False
null None

3、JSON实例

# -*- coding:utf-8 -*-
import json

data = {
    "id":"123456",
    "name":"Bauer",
    "age":30
}

jsonFile = "data.json"

if __name__ == ‘__main__‘:
    # 将字典数据转换为JSON对象
    print("raw data: ", data)
    jsonObject = json.dumps(data)
    print("json data: ", jsonObject)
    # 将JSON对象转换为字典类型数据
    rowData = json.loads(jsonObject)
    print("id: ", rowData["id"])
    print("name: ", rowData["name"])
    print("age: ", rowData["age"])
    # 将JSON对象保存为JSON文件
    with open(jsonFile, ‘w‘) as file:
        json.dump(jsonObject, file)
    # 将JSON文件读取内容
    with open(jsonFile, ‘r‘) as file:
        data = json.load(file)
        print(data)

# output:
# raw data:  {‘id‘: ‘123456‘, ‘name‘: ‘Bauer‘, ‘age‘: 30}
# json data:  {"id": "123456", "name": "Bauer", "age": 30}
# id:  123456
# name:  Bauer
# age:  30
# {"id": "123456", "name": "Bauer", "age": 30}

原文地址:https://blog.51cto.com/9291927/2416026

时间: 2024-11-05 21:41:35

Python3快速入门(八)——Python3 JSON的相关文章

Python3快速入门(十八)——PyInstaller打包发布

Python3快速入门(十八)--PyInstaller打包发布 一.PyInstaller简介 1.PyInstaller简介 PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序.PyInstaller 制作出来的执行文件并不是跨平台的,如果需要为不同平台打包,就要在相应平台上运行PyIn

Python3快速入门

Python3快速入门Python3快速入门(一)--Python简介https://blog.51cto.com/9291927/2385592Python3快速入门(二)--Python3基础https://blog.51cto.com/9291927/2409575Python3快速入门(三)--Python3标准数据类型https://blog.51cto.com/9291927/2409580Python3快速入门(四)--Python包管理https://blog.51cto.com

Python3快速入门(六)——Python3面向对象

Python3快速入门(六)--Python3面向对象 一.面向对象技术简介 1.面向对象简介 面向对象编程(Object Oriented Programing,OOP)是一种编程思想,OOP把对象当成程序的一个基本单元,一个对象包含数据和操作数据的方法.面向对象编程的三大特性如下:A.封装,可以隐藏实现细节,使代码模块化.B.继承,可以通过扩展已存在的类来实现代码重用,避免重复编写相同的代码.C.多态,封装和继承的目的都是为了实现代码重用, 而多态是为了实现接口重用,使得类在继承和派生的时候

Python3快速入门(一)——Python简介

Python3快速入门(一)--Python简介 一.Python简介 1.Python简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,由荷兰Guido van Rossum于1989年底发明,第一个公开发行版于1991年发布,Python源代码遵循 GPL(GNU General Public License)协议. 2.Python的优点 (1)易于学习Python关键字相对较少,结构简单,语法定义明确,易于学习.(2)易于阅读Python代码定义清晰.(3)易于维

Python3快速入门(五)——Python3函数

Python3快速入门(五)--Python3函数 一.函数定义 1.函数定义 Python 定义函数使用 def 关键字,一般格式如下: def function_name(parameter_list): pass 默认情况下,参数值和参数名称按函数声明中定义的顺序进行匹配.函数代码块以?def?关键词开头,后接函数标识符名称和圆括号?().任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数.函数的第一行语句可以选择性地使用文档字符串描述函数说明.函数内容以冒号起始,并且进行

Python3快速入门(七)——Python3正则表达式

Python3快速入门(七)--Python3正则表达式 1.re模块简介 re 模块提供 Perl 风格的正则表达式模式,使 Python 语言拥有全部的正则表达式功能. 2.正则表达式模式 模式字符串使用特殊的语法来表示一个正则表达式:正则表达式模式中的字母和数字匹配同样的字符串:多数字母和数字前加一个反斜杠时会有不同的含义:标点符号通常有特殊的含义,只有被转义时才匹配自身:反斜杠本身需要使用反斜杠转义.^匹配字符串的开头$匹配字符串的末尾.匹配任意字符,除了换行符,当re.DOTALL标记

Python3快速入门(九)——Python3并发编程

Python3快速入门(九)--Python3并发编程 一.Python线程模块 1.线程简介 一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成.线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程本身不拥有系统资源,与进程内的其它线程共享进程的所有资源.一个进程中至少有一个线程,并作为程序的入口,即主线程,其它线程称为工作线程.???? 多线程,是指从软件或者硬件上实现多个线程并发执行的技术.支持多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,进而提升

Python3快速入门(十)——Python3网络编程

Python3快速入门(十)--Python3网络编程 一.socket模块简介 Python 提供了两个级别访问的网络服务,低级别的网络服务支持基本的 Socket,提供了标准的BSD Sockets API,可以访问底层操作系统Socket接口的全部方法:高级别的网络服务模块 SocketServer, 提供了服务器中心类,可以简化网络服务器的开发.socket不支持多并发,socketserver是对socket的再封装,简化网络服务器版的开发. 二.socket模块接口 1.socket

Python3快速入门(十一)——Python3数据库操作

Python3快速入门(十一)--Python3数据库操作 一.mysql-connector 驱动 1.mysql-connector?简介 mysql-connector?是?MySQL?官方提供的驱动器.使用pipenv进行包管理,安装命令如下:pipenv install mysql-connector 2.mysql-connector常用接口 mysql.connector.connect(*args, **kwargs)创建一个数据库连接,返回MySQLConnectionAbst