• python基础学习1-json,pickle的序列化和反序列化


    import requests
    import json
    dic={'k1':'v1'}
    print(dic,type(dic))
    result = json.dumps(dic)#调用dumps方法把字典序列化成一个字符串
    print(result,type(result))
    
    
    s1='{"k1":"123","k2":"456"}'
    re = json.loads(s1) #调用 load方法将 字符串反序列化为字典对象
    print(re,type(re))
    
    s2 = '[1,2,3,4,{"a":"aaa","b":"bbb"}]'
    rr = json.loads(s2)#调用 load方法将 字符串反序列化为列表对象
    print(rr,type(rr))
    
    
    r=requests.get('http://wthrcdn.etouch.cn/weather_mini?city=重庆') #调用地址取得返回值
    r.encodeing = 'utf-8'
    print(r.text)
    
    dic1 = json.loads(r.text)#反序列化 成个字典 反序列化时 一定要 记住使用 外单内双 引号
    print(dic1,type(dic1))
    print(dic1["data"]["city"])#取得字典中的 各个值
    
    
    #--------------json.dump  json.load---------------
    li=[1,2,3]
    json.dump(li,open("dd","w",encoding='utf-8'))# 两步操作 1步先序列化 列表对象  2步把序列化成的字符串写入文件
    li2 =json.load(open("dd","r",encoding='utf-8'))#两步操作 1步先读取文件的字符串对象,然后反序列化成列表对象
    print(li2,type(li2))
    
    import pickle
    #json更适合跨语言,字符串,基本数据类型的序列化
    #pickle,更适用python所有类型的序列化
    li=[11,22,33]
    r=pickle.dumps(li) #和json相同 序列化对象成字符串 只能python用
    print(r,type(r))
    
    rr=pickle.loads(r)#反序列化字符串回对象 只能python用
    print(rr,type(rr))
    
    r1=pickle.dump(li,open("dd","wb"))
    
    r2 = pickle.load(open("dd","rb"))
    print(r2)
    
  • 相关阅读:
    02_虚拟机参数
    01_java虚拟机基础入门
    03_模板消息
    Redis 实现分布式锁
    01_微信小程序支付
    python产生随机字符串
    输出的编码
    jmeter MD5加密
    vscode 插件推荐
    appium自动化安装(二)
  • 原文地址:https://www.cnblogs.com/whzym111/p/5797961.html
Copyright © 2020-2023  润新知