Python对JSON的操作 day3

下面将为大家介绍如何使用python语言来编码和解码json对象;

json串就是一个字符串,json串必须用双引号,不能使用单引号

使用json函数需要导入json库,import json

1、json.dumps: 将python对象编码成json字符串

2、json.loads :将已编码的json字符串解码为python对象

下面是举例说明:

已知如下json串:
d={ "error_code": 0, "stu_info": [ { "id": 314, "name": "矿泉水", "sex": "男", "age": 18, "addr": "北京市昌平区", "grade": "摩羯座", "phone": "18317155663", "gold": 100 }, { "id": 315, "name": "矿泉水", "sex": "女", "age": 27, "addr": "上海", "grade": "摩羯座", "phone": "18317155664", "gold": 100 } ] }

一、把字典转换为字符串:

1、方法1:

with open('abc.json','w',encoding='utf-8') as fw:
    s = json.dumps(d,ensure_ascii=False,indent = 4)
    fw.write(s)
    #1、中文乱码问题 ensure_ascii=False
    #2、美观的问题 indent=n 的意思是每一个key前面加n个空格的意思
    #3、abc.json可将json的颜色打印出来

2、方法2:

with open('abc.json','w',encoding='utf-8') as fw:
    json.dump(d,fw,indent=4,ensure_ascii=False)
    #不需要手动的write一次,直接可写入文件(第一个传入字典,第二个传入文件)
    #此方法从上面两行代码的含义,更简单

二、将文件的字符串转换为字典:

1、方法1:

with open('abc.txt',encoding='utf-8') as fr:
    result = fr.read()
    print('result,刚从文件里面读出来的:',type(result))
    dic = json.loads(result)
    print('dic,转换之后的',dic,type(dic))

2、方法2:

with open('abc.txt',encoding='utf-8') as fr:
    result= json.load(fr)
    print('result',type(result))
    # 直接读出文件内容,转为字典;此方法相当于相面的代码含义

 

上一篇:java--异常处理


下一篇:Java生成二进制文件与Postman以二进制流的形式发送请求