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

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

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

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

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

json.dump()和json.load()主要用来读写json文件函数

1、json.dump() : 将json信息写入文件

2、json.load() :读取json文件转为字典

下面是举例说明:

已知如下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',result,type(result))
    # 直接读出文件内容,转为字典;此方法相当于上面方法1的代码含义

 帮助理解可参考博客:

https://www.cnblogs.com/xiaomingzaixian/p/7286793.html