• Python3之json文件操作


    json函数

    使用json函数之前,首先需要导入json模块,import json

    1)、json.dumps()函数

    该函数是将 Python 对象编码成 JSON 字符串,例如:

     1 import json                                                                                         
     2 d={'谦谦':{'sex':'','addr':'北京','age':34},'千千':{ 'sex':'','addr':'北京', 'age':34},}                  
     3 print(json.dumps(d,ensure_ascii=False,indent=4))  #字典转成json,字典转换成字符串 加上ensure_ascii=False以后,可以识别中文, indent=4是间隔4个空格显示
     4 
     5 #以上代码转换的结果是:
     6 {
     7     "谦谦": {
     8         "sex": "",
     9         "addr": "北京",
    10         "age": 34
    11     },
    12     "千千": {
    13         "sex": "",
    14         "addr": "北京",
    15         "age": 34
    16     }
    17 }

    2)、json.dump()函数

    该函数是可以将 Python 对象编码成 JSON 字符串,并自己帮你写入到文件中,不需要再单独写文件,例如:

    1 import json                                                                         
    2 d={'谦谦':{'sex':'','addr':'北京','age':34},'千千':{ 'sex':'','addr':'北京', 'age':34},}  
    3 fw =open('user_info.json','w',encoding='utf-8')   #打开一个名字为‘user_info.json’的空文件
    4 json.dump(d,fw,ensure_ascii=False,indent=4)#字典转成json,字典转换成字符串,不需要写文件,自己帮你将转成的json字符串写入到‘user_info.json’的文件中 

    3)、json.loads()函数

    文件product.json的原文件内容如下:

    {
        "iphone":{
            "color":"red",
            "num":1,
            "price":98.5
        },
        "wather":{
            "num":100,
            "price":1,
            "color":"white"
        }
    }

    使用json.loads()函数把json串变成python的数据类型:如下:

    1 import json  
    2 f =open('product.json',encoding='utf-8') #打开‘product.json’的json文件
    3 res=f.read()  #读文件
    4 print(json.loads(res))#把json串变成python的数据类型:字典      
    5 
    6 #以上转换的结果是:
    7 {'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}} 

    4)、json.load()函数

    该函数把json串变成python的数据类型:字典,传一个文件对象,它会帮你读文件,不需要再单独读文件,例如:

    import json   
    f =open('product.json',encoding='utf-8')    #打开文件 
    print(json.load(f))#把json串变成python的数据类型:字典,传一个文件对象,它会帮你读文件,不需要再单独读文件 
    
    #以上转换执行的结果是:
    {'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}}
  • 相关阅读:
    String类中的常用方法(Java)
    Struts2的Lambda表达式的使用
    Struts2的环境搭建
    Servlet 3.0
    关于URLWriter的用法
    PrintStream与PrintWriter
    java中的System.nanoTime与System.currentTime
    java多线程之CyclicBarrier类
    多线程java IO之管道流
    消费者与生产者
  • 原文地址:https://www.cnblogs.com/xiehong/p/9050301.html
Copyright © 2020-2023  润新知