irpas技术客

Python解码、编码Json的方法详解_闪亮伞_python 解码json

未知 4009

python对象编码为json的方法:

json.dumps(data) : 把python字典,转化为json字符串json.dump(data) : 将python字典写入json文件demjson.encode(data) : python字典转化为json字符串

json解码为python对象的方法:

json.loads(data) : 解析一个有效的JSON字符串并将其转换为Python字典json.load(data) : 从一个文件读取JSON类型的数据,然后转转换成Python字典demjson.decode(data) : 将json字符串转化为python字典 json模块

使用json模块要提前导入 import json

json.dumps(data) # python数据编码为json数据 python_data = {'name':'shanliangsan','pass':123456,'age':18 } data = json.dumps(python_data) print(data) # {"name": "shanliangsan", "pass": 123456, "age": 18} # 格式化输出 data_format = json.dumps(python_data, sort_keys = True, indent = 4, separators = (',',':')) print(data_format) ''' 格式化输出结果: { "age":18, "name":"shanliangsan", "pass":123456 } ''' json.loads(data) # 已编码的json数据解码为python数据 json_data = '{"name": "shanliangsan", "pass": 123456, "age": 18}' data1 = json.loads(json_data) print(data1) # {'name': 'shanliangsan', 'pass': 123456, 'age': 18} json.dump(data) # 将python数据写入json文件中 python_data = {'domain': 'staging.dashboard.unity3d.com', 'httpOnly': False, 'name': 'siftid', 'path': '/', 'secure': False, 'value': '82a06091-3969-5f29-60a8-d9562f6666ee'} json_file_path = ("D:/JsonParse1.json") json.dump(python_data,open(json_file_path,"w")) json.load(data) # 将文件中存在的json数据解码为python数据 data2 = json.load(open("D:/JsonParse.json")) print(data2) ''' 运行结果 {'domain': 'staging.dashboard.com', 'httpOnly': False, 'name': 'siftid', 'path': '/', 'secure': False, 'value': '231314141-3969-5f29-60a8-cmdkkviea4ee'} ''' print(type(data2)) # <class 'dict'> demjson库

demjson是python的第三方库,使用之前需要先下载。 命令:pip install demjson 在使用之前也需要导入:import demjson

demjson.encode(data) # python数据转化为json字符串 python_dict = {'domain': 'staging.dashboard.com', 'httpOnly': False, 'name': 'siftid', 'path': '/', 'secure': False, 'value': '231314141-3969-5f29-60a8-cmdkkviea4ee'} json_data = demjson.encode(python_dict) print(json_data) # {"domain":"staging.dashboard.com","httpOnly":false,"name":"siftid","path":"/","secure":false,"value":"231314141-3969-5f29-60a8-cmdkkviea4ee"} demjson.decode(data) # 将json字符串转化为python字典 json_str = '{"domain":"staging.dashboard.com","httpOnly":false,"name":"siftid","path":"/","secure":false,"value":"231314141-3969-5f29-60a8-cmdkkviea4ee"}' python_data = demjson.decode(json_str) print(python_data) # {'domain': 'staging.dashboard.com', 'httpOnly': False, 'name': 'siftid', 'path': '/', 'secure': False, 'value': '231314141-3969-5f29-60a8-cmdkkviea4ee'}

注:

python字典和json字符串不是很好分辨,他们最大区别在于,json字符串的引号都是双引号,python字典中的引号都是单引号。code后面的注释是运行结果,供参考。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Python #解码json #命令pip #install #demjsond