• python爬虫中json数据与python数据相互转换


            json类型数据:

    • 数据以键值对的形式存在(且必须使用双引号括起来):如  "name": "张三"
    • 使用 {} 包含多个键值对,使用逗号分割:{"name": "张三", "age": 18}

    1. json数据转换成python数据

            1.1 json字符串转换成python字符串

    • 使用 json.loads(json数据) 进行转换,返回的结果是列表或字典的数据类型
    1. import json
    2. jso = """[{"provinceName":"台湾","provinceShortName":"台湾","currentConfirmedCount":4823386,
    3. "confirmedCount":4846501,"suspectedCount":485,"curedCount":13742,"deadCount":9373,"comment":"",
    4. "locationId":710000,"statisticsData":"https://file1.dxycdn.com/2020/0223/045/3398299749526003760-135.json",
    5. "highDangerCount":0,"midDangerCount":0,"detectOrgCount":0,"vaccinationOrgCount":0,
    6. "cities":[],"dangerAreas":[]}]"""
    7. # 1.把json字符串转换成python字符串(即列表嵌套字典)
    8. # 1.1转换
    9. rs = json.loads(jso)
    10. print(rs)

            1.2 json文件转换成python数据类型

    • 使用 json.load(json文件名) 进行转换,返回的结果是列表或字典的数据类型
    1. # 2.把json文件格式转换成python文件格式
    2. # 2.1 构建指向该文件的文件对象
    3. with open('1.json', 'r') as f:
    4. # 2.2 加载文件对象,转换成python类型数据
    5. python_list = json.load(f)
    6. print(python_list)

    2.  python数据类型转换成json数据类型

           2.1 python字符串转换成json字符串

    •  使用 json.dumps(python数据,ensure_ascii=False),返回json数据类型
    1. import json
    2. # 1.把python字符串转换成json字符串
    3. list1 = """[{'provinceName': '台湾', 'provinceShortName': '台湾',
    4. 'currentConfirmedCount': 4823386, 'confirmedCount': 4846501, 'suspectedCount': 485,
    5. 'curedCount': 13742, 'deadCount': 9373, 'comment': '', 'locationId': 710000,
    6. 'statisticsData': 'https://file1.dxycdn.com/2020/0223/045/3398299749526003760-135.json',
    7. 'highDangerCount': 0, 'midDangerCount': 0, 'detectOrgCount': 0, 'vaccinationOrgCount': 0,
    8. 'cities': [], 'dangerAreas': []}]"""
    9. # 1.1 python转换成json
    10. python_list = json.dumps(list1, ensure_ascii=False) # 指定编码
    11. print(python_list)

            2.2 python数据以json格式存储在磁盘中

    • 使用 json.dump(python数据, 文件名, ensure_ascii=False)
    1. # 把python文件以json格式存储在磁盘中
    2. with open('2.json', 'w') as f:
    3. # ensure_ascii 可以改变编码方式
    4. json.dump(list1, f, ensure_ascii=False)

  • 相关阅读:
    【排序算法】希尔排序
    【Docker】Docker安装Nginx配置静态资源
    java毕业设计晶研电子公司业务网站mybatis+源码+调试部署+系统+数据库+lw
    excel 通过SUMIF关键词统计词频
    TP5 模型查询的返回值、返回值的判断以及所使用的SQL
    GoEXP规则变更通知 l 信创额外奖励活动
    ESP32(VSCode+PlatformIO)开发环境搭建教程(2024版)
    Scala的字符串插值
    libcurl域名检测超时段错误分析
    轻量级模型设计与部署总结
  • 原文地址:https://blog.csdn.net/weixin_62859191/article/details/126348099