美文网首页pythonjs css html
python:JSON格式,Requests网络

python:JSON格式,Requests网络

作者: iOS_修心 | 来源:发表于2022-10-21 11:22 被阅读0次

JSON概述

json模块有四个比较重要的函数,分别是:

  • dump - 将Python对象按照JSON格式序列化到文件中
  • dumps - 将Python对象处理成JSON格式的字符串
  • load - 将文件中的JSON数据反序列化成对象
  • loads - 将字符串的内容反序列化成Python对象

在Python中,如果要将字典处理成JSON格式(以字符串形式存在),可以使用json模块的dumps函数,代码如下所示。

dict转换成str
import json

my_dict = {
    'name': '骆昊',
    'age': 40,
    'friends': ['王大锤', '白元芳'],
    'cars': [
        {'brand': 'BMW', 'max_speed': 240},
        {'brand': 'Audi', 'max_speed': 280},
        {'brand': 'Benz', 'max_speed': 280}
    ]
}
print(json.dumps(my_dict))

运行上面的代码,输出如下所示,可以注意到中文字符都是用Unicode编码显示的。

{"name": "\u9a86\u660a", "age": 40, "friends": ["\u738b\u5927\u9524", "\u767d\u5143\u82b3"], "cars": [{"brand": "BMW", "max_speed": 240}, {"brand": "Audi", "max_speed": 280}, {"brand": "Benz", "max_speed": 280}]}
JSON格式的dict转换文本文件

如果要将字典处理成JSON格式并写入文本文件,只需要将dumps函数换成dump函数并传入文件对象即可,会创建data.json文件,文件的内容跟上面代码的输出是一样的。

import json

my_dict = {
    'name': '骆昊',
    'age': 40,
    'friends': ['王大锤', '白元芳'],
    'cars': [
        {'brand': 'BMW', 'max_speed': 240},
        {'brand': 'Audi', 'max_speed': 280},
        {'brand': 'Benz', 'max_speed': 280}
    ]
}
with open('data.json', 'w') as file:
    json.dump(my_dict, file)
文本文件转换成dict

读取上面创建的data.json文件,将JSON格式的数据还原成Python中的字典。

import json

with open('data.json', 'r') as file:
    my_dict = json.load(file)
    print(type(my_dict))
    print(my_dict)

使用requests网络API获取数据

import requests

resp = requests.get('http://api.tianapi.com/guonei/?key=cd642e9803295d7b5112136a301a414d&num=10')
if resp.status_code == 200:
    data_model = resp.json()
    print(data_model)
    print(type(data_model))

    for news in data_model['newslist']:
        print(news)
        print(news['title'])
        print(news['url'])

相关文章

网友评论

    本文标题:python:JSON格式,Requests网络

    本文链接:https://www.haomeiwen.com/subject/kjxyzrtx.html