解決Python下json.loads()中文字符出錯(cuò)的問(wèn)題
Python:2.7
IDE:Pycharm5.0.3
今天遇到一個(gè)問(wèn)題,就是在使用json.load()時(shí),中文字符被轉(zhuǎn)化為Unicode碼的問(wèn)題,解決方案找了半天,無(wú)解。全部代碼貼出,很簡(jiǎn)單的一個(gè)入門(mén)程序,抓的是有道翻譯的,跟著小甲魚(yú)的視頻做的,但是他的版本是python3.4,所以有些地方還需要自己改,不多說(shuō),程序如下:
import urllib#python2.7才需要兩個(gè)urllib url="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null" data={} data['type']='AUTO' data['i']='i love FishC.com' data['doctype']='json'#輕量級(jí)數(shù)據(jù)結(jié)構(gòu) data['xmlVersion']='1.8' data['keyfrom']='fanyi.web' data['ue']='UTF-8' data['action']='FY_BY_ENTER' data['typoResult']='true' data = urllib.urlencode(data).encode('utf-8') req = urllib2.Request(url, data) response = urllib2.urlopen(req) html = response.read().decode('utf-8') print(html)
個(gè)人建議就是放在Python Console中執(zhí)行;當(dāng)貼完上述代碼后,跟著步驟來(lái):
import json target = json.loads(html) target#這里先試一下target類(lèi)型,返回的應(yīng)該是字典,并且已經(jīng)被轉(zhuǎn)換成Unicode碼了,注意前面的u,待會(huì)貼圖 want=target['translateResult'][0][0]['tgt'] type(want)#看一下分割后類(lèi)型,應(yīng)該是Unicode
上面幾步完事之后,不出所料應(yīng)該是顯示這樣
u'\u6211\u7231FishC.com'
然后,關(guān)鍵的來(lái)了,我一直在尋找一種將Unicode轉(zhuǎn)化成中文的方式,其實(shí),在python2.7中,直接print就可以了,勿噴,我是新手。。。。
print want
又學(xué)到一個(gè)小知識(shí),Unicode碼形式的中文直接可以print顯示中文呢,見(jiàn)笑見(jiàn)笑哈。
BTW 至于程序怎么來(lái)的,詳見(jiàn)圖和小甲魚(yú)視頻54講。我只是解決2.7出現(xiàn)的問(wèn)題。
以上這篇解決Python下json.loads()中文字符出錯(cuò)的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Django使用AJAX調(diào)用自己寫(xiě)的API接口的方法
這篇文章主要介紹了Django使用AJAX調(diào)用自己寫(xiě)的API接口的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03Django動(dòng)態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法
本文主要介紹了Django動(dòng)態(tài)展示Pyecharts圖表數(shù)據(jù)的幾種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08python實(shí)現(xiàn)人臉檢測(cè)的簡(jiǎn)單實(shí)例
這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)人臉檢測(cè)的相關(guān)資料,OpenCV?可以使用機(jī)器學(xué)習(xí)算法搜索圖像中的人臉,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02python利用platform模塊獲取系統(tǒng)信息
這篇文章主要介紹了python利用platform模塊獲取系統(tǒng)信息,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-10-10pytorch實(shí)現(xiàn)梯度下降和反向傳播圖文詳細(xì)講解
這篇文章主要介紹了pytorch實(shí)現(xiàn)梯度下降和反向傳播,反向傳播的目的是計(jì)算成本函數(shù)C對(duì)網(wǎng)絡(luò)中任意w或b的偏導(dǎo)數(shù)。一旦我們有了這些偏導(dǎo)數(shù),我們將通過(guò)一些常數(shù)α的乘積和該數(shù)量相對(duì)于成本函數(shù)的偏導(dǎo)數(shù)來(lái)更新網(wǎng)絡(luò)中的權(quán)重和偏差2023-04-04Python+threading模塊對(duì)單個(gè)接口進(jìn)行并發(fā)測(cè)試
這篇文章主要為大家詳細(xì)介紹了Python+threading模塊對(duì)單個(gè)接口進(jìn)行并發(fā)測(cè)試,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06