dump成json字符串以及编码问题

dump成json字符串以及编码问题

import json

persons = [
    {
        'username':"张三",
        'age':  18,
        'country':"李四"
    },
    {
        'username':"bbb",
        'age':  19,
        'country':"china"
    }
]

# json_str = json.dumps(persons)
# print(type(json_str))
# print(json_str)
# 使用文件系统方式,将json字符串写入到当前文件夹下的persion.txt文件中
# with open("persion.txt","w") as fp:
#     fp.write(json_str)

# # 使用dump()函数将json文件直接输出到persion.json文件中
# with open("persion.josn","w",encoding="utf-8") as fp:
#     json.dump(persons,fp,ensure_ascii=False)



# python中只有基本数据类型才能转换成json格式的字符串,也即:int、float、str、dict(字典)、tuple(元组)。
# 例如下面代码:将一个Persion对象转化成json对象是就会报错TypeError: Object of type Persion is not JSON serializable
# 想要将Persion对象转化成json对象,需将Persion对象先转换成基本数据类型,再转换成json对象
class Persion(object):
    country = "china"

a = {
    'persion':Persion()
}
json.dumps(a)

将json字符串load成python对象

import json

# # 将字符串转化成字典类型
# json_str = '[{"username": "张三", "age": 18, "country": "李四"}, {"username": "bbb", "age": 19, "country": "china"}]'
# persions = json.loads(json_str)
# print(type(persions))
# for persion in persions:
#     print(type(persion))
#     print(persion)


# 从文件中加载json数据
with open("persion.josn","r",encoding="utf-8") as fp:
    persions = json.load(fp)
    print(type(persions))
    for persion in persions:
        print(type(persion))
        print(persion)

猜你喜欢

转载自blog.csdn.net/qq_43039260/article/details/100806725