zoukankan      html  css  js  c++  java
  • json字符串与字典之间的相互转换,即loads(load)dumps(dump)

    # JSON字符串 和 字典之间的相互转换
    #
    # 头脑中的信息  --》内在的数据结构
    #
    # 数据  ---》内存中的数据结构  ---》 字典 取值方便
    #
    # 想记录下来 --》 持久化
    # 想表达出来 让别人知道 --》 序列化 把内存中的信息数据结构变成 通用的 文本或文件
    #
    #
    # 我的一个想法 --序列化--》文字 --反序列化-》你的想法


    # JSON本质文本,方便传输,存储
    # 字典是内存中的数据结果,方便提取数据

    # 使用字典构造请求 --》转字符串发送 --》收到响应字符串 --》转字典->提取数据

    # 1. JSON字符串转 字典

    import json
    #json转字典
    json_str = '{"a": 1, "b":2, "c":true, "d":null}'
    data_dict = json.loads(json_str)
    print(type(data_dict), data_dict['c'])
    
    # 2. 字典转JSON
    data_dict = {'b': 2, 'c':True, 'd': None, 'e': '张三', 'f': [1, 2, 3], 'a': 1}
    
    json_str = json.dumps(data_dict, indent=2, ensure_ascii=False, sort_keys=True)
    
    print(json_str)
    
    # 3. JSON文件转字典
    with open(r'D:20期20期day08data.json') as f:
        data_dict = json.load(f)
        print(data_dict)
    
    # 4. 字典--》JSON文件
    with open(r'D:20期20期day08data2.json', 'w') as f:
        json.dump(data_dict, f)

    ##########res.json()是指,将响应结果转化为符合json格式的字典,方便提取数据

    import requests
    
    def test_get():
        url = 'https://httpbin.org/get?a=1&b=2'
        res = requests.get(url)
        res_dict = res.json()
    
        a = res_dict['args']['a']
        b = res_dict['args']['b']
        assert a == '1'
        assert b == '2'
    
        # b = res_dict.get('args', {}).get('b')
  • 相关阅读:
    Java 时区转换(UTC+8 到 UTC 等等)
    spring 与 springmvc 的区别和定义
    字符串加密解密(Base64)
    上传视频本地预览问题
    vue 监听store中的数值
    判断对象是否为空
    正则 验证是否包含特殊字符
    js 过滤日期格式
    vue methods computed watch区别
    for + setTimeout
  • 原文地址:https://www.cnblogs.com/guweimeng/p/13933270.html
Copyright © 2011-2022 走看看