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后面的注释是运行结果,供参考。

367

被折叠的 条评论
为什么被折叠?



