一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python中解析JSON并同時進行自定義編碼處理實例

Python中解析JSON并同時進行自定義編碼處理實例

2019-11-17 16:50junjie Python

這篇文章主要介紹了Python中解析JSON并同時進行自定義編碼處理實例,需要的朋友可以參考下

在對文件內容或字符串進行JSON反序列化(deserialize)時,由于原始內容編碼問題,可能需要對反序列化后的內容進行編碼處理(如將unicode對象轉換為str)。

Python中,一種方式是先使用json.load或json.loads反序列化得到dict對象,然后對這個dict對象進行編碼處理。

但其實在json.load與json.loads中,有可選參數object_hook。通過使用此參數,可以對反序列化得到的dict直接進行處理,并使用處理后新的dict替代原dict返回。

使用方法為:

 

復制代碼代碼如下:

d = json.loads(json_str, object_hook=_decode_dict)

 

附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

 

參考:
1.https://docs.python.org/2/library/json.html
2.https://github.com/clowwindy/shadowsocks/blob/master/shadowsocks/utils.py

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费网址在线观看入口推荐 | 国产精品久久久久这里只有精品 | 色啪啪888.com | 色老板在线播放 | 色综合图区 | yin娃sao货调教情趣用品店 | 日韩在线免费 | 婷婷色在线播放 | 成人久久网站 | 国产在线观看福利 | 亚洲精品国产AV成人毛片 | 日本在线视频网址 | 热久久最新地址 | 2021国产麻豆剧传媒剧情动漫 | 久久精品热在线观看85 | 色综合天天五月色 | 亚洲女性色尼古综合网 | 色婷婷在线视频 | 午夜久 | 亚洲色图欧美偷拍 | 91精品婷婷国产综合久久8 | 精品视频在线免费播放 | 日本黄色大片网站 | 国内精品一区视频在线播放 | 国产福利在线观看91精品 | 国产高清dvd | 亚洲人成影院午夜网站 | 亚洲网站在线播放 | 富士av105| 美女污视频在线观看 | 91真人毛片一级在线播放 | 亚欧有色在线观看免费版高清 | 涩情主播在线翻车 | 青青热久免费精品视频精品 | 美女福利网站 | 91香蕉导航 | 福利视频一区二区三区 | 香蕉精品高清在线观看视频 | 精品视频久久久久 | 牛牛在线观看 | 黑人k8经典 |