Python中dumps, loads dump, load用法详解

json 模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads()

 json.dumps()将一个Python数据结构转换为json

import json

data = {
    'name' : 'ACME',
    'shares' : 100,
    'price' : 542.23
}

json_str = json.dumps(data)

json.loads()将一个JSON编码的字符串转换回一个Python数据结构

data = json.loads(json_str)

json.dump()将数据写成json文件

# Writing JSON data
with open('data.json', 'w') as f:
    json.dump(data, f)

json.load()读取json格式文件

# Reading data back
with open('data.json', 'r') as f:
    data = json.load(f)

对比

#json.load()是用来读取文件的,即,将文件打开然后就可以直接读取。
with open("文件名") as f:
     print(type(f))  #   也就是文本IO类型
     result=json.load(f)

#json.loads()是用来读取字符串的,即,可以把文件打开,用readline()读取一行,然后json.loads()一行
with open("文件名") as f:
    line=f.readline():  
    print(type(line))  # 
    result=json.loads(line)

实战

def load_json(path):   
    lines = []     #  第一步:定义一个列表, 打开文件
    with open(path) as f:  
        for row in f.readlines(): # 第二步:读取文件内容 
            if row.strip().startswith("//"):   # 第三步:对每一行进行过滤 
                continue
            lines.append(row)                   # 第四步:将过滤后的行添加到列表中.
    return json.loads("\n".join(lines))       #将列表中的每个字符串用某一个符号拼接为一整个字符串,用json.loads()函

参考:Python Cookbook 3rd Edition

 

扫码关注JaGop,每日推送深度技术

 

Python中dumps, loads dump, load用法详解_第1张图片

你可能感兴趣的:(Python,Python花园)