Python中解析JSON并同时进行自定义编码处理实例,python把dict转成json

来源:未知 浏览 101次 时间 2021-06-10 21:36

在对文件内容或字符串进行JSON反序列化(deserialize)时汕头seo案例

在对文件内容或字符串进行JSON反序列化(deserialize)时由于原始内容编码问题可能需要对反序列化后的内容进行编码处理(如将unicode对象转换为str)。

在Python中SEO顾问案例可能需要对反序列化后的内容进行编码处理(如将unicode对象转换为str)。

Python中解析JSON并同时进行自定义编码处理实例

但其实在json.load与json.loads中有可选参数object_hook。通过使用此参数汕头seo案例有可选参数object_hook。通过使用此参数可以对反序列化得到的dict直接进行处理并使用处理后新的dict替代原dict返回。

使用方法为:

Python中解析JSON并同时进行自定义编码处理实例

附Shadowsocks中使用的_decode_dict与_decode_list:

代码如下:
def _decode_list(data):
rv = []
for item in data:
if isinstance(item, unicode):
item = item.encode(‘utf-8’)
elif isinstance(item, list):
item = _decode_list(item)
elif isinstance(item, dict):
item = _decode_dict(item)
rv.append(item)
return rv

def _decode_dict(data):
rv = {}
for key, value in data.iteritems():
if isinstance(key, unicode):
key = key.encode(‘utf-8’)
if isinstance(value, unicode):
value = value.encode(‘utf-8’)
elif isinstance(value, list):
value = _decode_list(value)
elif isinstance(value, dict):
value = _decode_dict(value)
rv[key] = value
return rv

标签: itemdictvaluedecode