Python如何处理JSON数据,保姆级教程,小白也能玩转

一、简介:

        json (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)

二、序列化与反序列化函数及实例

        所谓序列化,就是python编码为json类型;反序列化,就是json解码为python类型。下文将会详细展开Python里这两种的具体函数:

1、序列化 - python编码为json类型

(1)json.dumps():把python数据类型转换成json字符串

import json

# 把python数据类型转换成json字符串
dict_data = {'name': 'saxon', 'age': 18}
print('dict_data', end = ':')
print(dict_data)
print('dict_data type',end = ':')
print(type(dict_data))
json_data = json.dumps(dict_data)
print('json_data', end = ':')
print(json_data)
print('json_data type',end = ':')
print(type(json_data))

输出:

(2)json.dump():把python数据类型转换成json字符串并存储在文件中

import json

# 把python数据类型转换成json字符串并存储在文件中
dict_data = {'name': 'saxon', 'age': 18}
with open('data/json_data.json', 'w') as f: # ‘w’表示写入文件,文件不存在则创建,存在则覆盖
    json.dump(dict_data, f)
    print("载入文件完成...")
    f.close()

输出:

2、反序列化 - json解码为python类型

(1)json.loads():解析json数据,返回python中的数据类型

import json

# 解析json数据,返回python中的数据类型
json_data = '{"name": "saxon", "age": 18}'
dict_data = json.loads(json_data)
print('dict_data', end = ':')
print(dict_data)
print('dict_data type',end = ':')
print(type(dict_data))

 输出:

(2)json.load():打开json文件,解析json数据,返回python中的数据类型

import json

# 打开json文件,解析json数据,返回python中的数据类型
with open('data/json_data.json','r') as f:
    dict_data = json.load(f)
    print("解析文件完成...")
    print('dict_data', end = ':')
    print(dict_data)
    print('dict_data type',end = ':')
    print(type(dict_data))
    f.close()

输出:

三、格式化输出Python数据类型到JSON文件

        我们常用json文件来进行大规模的数据存储和处理,故良好的缩进格式会提升阅读效率,格式化输出的代码如下:

import json

# 格式化输出python数据类型到json文件
dict_data = {'name': 'saxon', 'age': 18, 'hobby': ['basketball', 'football']}
with open('data/json_data.json', 'w') as f:
    # f.write(json.dumps(dict_data, indent=4, ensure_ascii=False))
    json.dump(dict_data, f, indent=4, ensure_ascii=False)
    print("格式化输出完成...")
    f.close()

        其中,indent=4设置json文件格式的缩进为4个空格,增加格式美观度;ensure_ascii=False指定不对非ASCII字符进行编码,直接输出中文至文件。

输出: 

四、Python与JSON的数据类型转换对应表

1、python类型编码为json类型转换对应表

Python

JSON

dict

object

list, tuple

array

str

string

int, float, int- & float-derived Enums

number

True

true

False

false

None

null

2、json类型解码为python类型转换对应表

JSON

Python

object

dict

array

list

string

str

number (int)

int

number (real)

float

true

True

false

False

null

None

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

棱角码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值