第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何從JSON獲得字符串對(duì)象而不是Unicode?

如何從JSON獲得字符串對(duì)象而不是Unicode?

瀟瀟雨雨 2019-07-11 14:52:53
如何從JSON獲得字符串對(duì)象而不是Unicode?我在用Python 2來解析JSONASCII編碼文本文件。當(dāng)加載這些文件時(shí)json或simplejson,我的所有字符串值都轉(zhuǎn)換為Unicode對(duì)象,而不是String對(duì)象。問題是,我必須對(duì)一些只接受字符串對(duì)象的庫(kù)使用數(shù)據(jù)。我不能改變圖書館也不更新他們。是否有可能獲得字符串對(duì)象而不是Unicode對(duì)象?例>>> import json>>> original_list = ['a', 'b']>>> json_list = json.dumps(original_list)>>> json_list'["a", "b"]' >>> new_list = json.loads(json_list)>>> new_list[u'a', u'b']  # I want these to be of type `str`, not `unicode`更新有人問了這個(gè)問題很久以前當(dāng)我被困在Python 2..今天,一個(gè)簡(jiǎn)單而干凈的解決方案是使用Python的最新版本-即Python 3向前看。
查看完整描述

3 回答

?
MM們

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊

沒有內(nèi)置選項(xiàng)可以讓json模塊函數(shù)返回字節(jié)字符串而不是Unicode字符串。但是,這個(gè)簡(jiǎn)短的遞歸函數(shù)將任何解碼的JSON對(duì)象從使用Unicode字符串轉(zhuǎn)換為UTF-8編碼的字節(jié)字符串:

def byteify(input):
    if isinstance(input, dict):
        return {byteify(key): byteify(value)
                for key, value in input.iteritems()}
    elif isinstance(input, list):
        return [byteify(element) for element in input]
    elif isinstance(input, unicode):
        return input.encode('utf-8')
    else:
        return input

只需在從json.loadjson.loads打電話。

幾個(gè)注意事項(xiàng):

  • 若要支持Python2.6或更高版本,請(qǐng)?zhí)鎿Q

    return {byteify(key): byteify(value) for key, value in input.iteritems()}

    帶著

    return dict([(byteify(key), byteify(value)) for key, value in input.iteritems()])

    ,因?yàn)樽值淅斫庵钡絇ython2.7才被支持。
  • 由于這個(gè)答案在整個(gè)解碼對(duì)象中反復(fù)出現(xiàn),它具有一些不受歡迎的性能特征,可以通過非常小心地使用

    object_hook

    object_pairs_hook

    參數(shù)。

    Mirec Miskuf的答復(fù)

    到目前為止,是唯一一個(gè)能夠正確完成這一任務(wù)的人,盡管結(jié)果是,它比我的方法要復(fù)雜得多。


查看完整回答
反對(duì) 回復(fù) 2019-07-11
  • 3 回答
  • 0 關(guān)注
  • 907 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)