zoukankan      html  css  js  c++  java
  • python的json模块

    JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式. Python标准库中的json模块提供了JSON数据的处理功能。

    python中字典格式和json类似,Python中的json库提供的主要功能, 也是两者之间的转换

    1、将json串转为字典,使用loads方法

    import json
    json_str='''
    {"name":"小黑","age":18,"sex":"男","age":18}
    '''
    res = json.loads(json_str) #把json串转为字典
    print(type(res))
    print(res)

    2、将字典转为json串,使用dumps

    import json
    dic = {
        "xiaohei":{
            "age":18,
            "password":12345,
            "sex":"",
            "addr":"北京"
        },
        "小白":{
            "age":18,
            "password":12345,
            "sex":"",
            "addr":"北京"
        },
        "小王":{
            "age":18,
            "password":12345,
            "sex":"",
            "addr":"北京"
        },
    }
    res = json.dumps(dic)#将字典转为json
    print(res)
    #注意,这样讲所有的汉字转为ascii码,可使用下面的方法不转为ascii码,且好看
    res1 = json.dumps(dic,ensure_ascii=False,indent=4)#其中ensure_ascii=False是不将中文转为ascii码,indent是缩进数  

    3、将一个包含JSON格式数据的可读文件转为字典,使用load,load可以自己读文件

    with open('text.json','r',encoding='utf-8') as fr:
        aa = json.loads(fr.read())
        fr.seek(0)
        bb = json.load(fr)# json.load(fr)和json.loads(fr.read()) 返回结果一样,load可以自己去读文件
        print(aa)
        print(bb)
    
    #输出
    {'name': '小黑', 'age': 18, 'sex': ''}
    {'name': '小黑', 'age': 18, 'sex': ''}

    4、将文件中的字典格式转换成json,使用dump

    一个动作是将”obj“转换为JSON格式的字符串,还有一个动作是将字符串写入到文件中
    import json
    
    dic = {
        "xiaohei":{
            "age":18,
            "password":12345,
            "sex":"",
            "addr":"北京"
        },
        "小白":{
            "age":18,
            "password":12345,
            "sex":"",
            "addr":"北京"
        },
        "小王":{
            "age":18,
            "password":12345,
            "sex":"",
            "addr":"北京"
        },
    }
    
    fw = open('newuser.json','w',encoding='utf-8')#打开一个新的文件
    aa = json.dump(dic,fw,indent=4,ensure_ascii=False)#将字典写到该文件中
    print(aa)
  • 相关阅读:
    归并排序的go语言与C++实现对比
    Telnet服务器和域名系统的端口号 Mac OS X
    kali linux 更新软件源,安装中文输入法,修复Linux与windows引导菜单解决windows引导丢失
    运行CImg库笔记
    解决没有X11/Xlib.h 的错误
    Mac 下office 2013制作组合表
    小程序-极其简单的表单验证使用方式
    小程序-可通用的目录栏组件
    小程序-自定义返回顶部组件
    小程序-获取用户信息
  • 原文地址:https://www.cnblogs.com/blueteer/p/10059843.html
Copyright © 2011-2022 走看看