zoukankan      html  css  js  c++  java
  • Python基础-----json模块

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-

    import json

    '''
    我们把对象(变量)从内存中变成可存储或传输的过程称之为[序列化],在Python中叫pickling,
    在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。

    序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。
    反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。
    '''

    '''
    1 json.dumps(变量名)
    用于将传入的变量表示的数据类型都变为字符串类型
    并且回将字符串内的''变为""。
    '''

    dic = {'name':'alex'}
    dic_str = json.dumps(dic) #----> '{"name":"alex"}'

    num = 8
    num_str = json.dumps(num) #----> '8'

    st = 'hello'
    st_str = json.dumps(st) #----> '"hello"'

    li = [11,22]
    li_str = json.dumps(li) #----> '[11,22]'

    ###################################################################################

    '''
    2 json.loads(变量名)
    用于将传入的变量表示的字符串类型都转换为原类型
    并且返回原样。
    '''

    # dic = json.loads(dic_str) #----> {'name':'alex'}


    '''
    json 和 python数据对应
    import json
    x="[null,true,false,1]"
    print(json.loads(x)) #-----> [None, True, False, 1]
    '''

    ###################################################################################
    '''用于文件操作'''
    '''
    3 json.dump(变量名,文件名)
    用于将传入的变量表示的数据类型都变为字符串类型
    并且回将字符串内的''变为"",并写入到指定的文件中,
    无需执行文件的write()方法。
    '''
    with open('test','w') as f:
    json.dump(dic,f) #----> 等同于dic_str = json.dumps(dic) f.write(dic_str)

    ###################################################################################

    '''
    4 json.load(文件名)
    用于直接将文件中字符串类型都转换为原类型,并读取出来,
    无需执行文件的read()方法。
    '''
    with open('test','r') as f:
    json_read = json.load(f) #----> 等同于dic_str = json.dumps(dic) f.write(dic_str)
    print(json_read)


    #==================================================================================#
    '''
    注意json.dumps()和json.loads()不一定非要一起才能使用
    如果文件中的字符串类型,满足json要求,则可以直接使用
    json.loads()将文件读取出来
    import json
    #dct="{'1':111}"#json 不认单引号
    #dct=str({"1":111})#报错,因为生成的数据还是单引号:{'one': 1}

    dct='{"1":"111"}'
    print(json.loads(dct))

    #conclusion:
    # 无论数据是怎样创建的,只要满足json格式,就可以json.loads出来,不一定非要dumps的数据才能loads
    '''
  • 相关阅读:
    JS防止刷新,后退,关闭
    IIS日志-网站运维的好帮手
    未能加载文件或程序集“XXX”或它的某一个依赖项。磁盘空间不足---解决方案
    NOPI导出标准格式Excel
    DRBD+Heartbeat+Mysql高可用环境部署
    LVS三种包转发模型调度算法
    nagios环境部署(rhel6.5)
    关于nagios监控
    关于memcached原理及安装部署
    PHP5.4.36 RHEL6.5 源码编译安装
  • 原文地址:https://www.cnblogs.com/Meanwey/p/9741316.html
Copyright © 2011-2022 走看看