pythonunicodejson
A. python json怎麼修改json數據
Json簡介:Json,全名 javaScript Object Notation,是一種輕量級的數據交換格式。Json最廣泛的應用是作為AJAX中web伺服器和客戶端的通訊的數據格式。現在也常用於http請求中,所以對json的各種學習,是自然而然的事情。Python的官網網址:https://docs.python.org/2/library/json.html?highlight=json#mole-json
Json API 使用:python在版本2.6之前,是需要先下載包,安裝後才能使用的,有點類似現在的RF內使用SeleniumLibrary一樣。但是在2.6中,官方文檔(https://docs.python.org/2.6/whatsnew/2.6.html)明顯指出,「有一些重要的新的軟體包添加到了標准庫,比如multiprocessing 和json,但是跟python 3比,2.6的這些包不會引進更多的新功能。"於是安裝python2.6以上版本的童鞋,可以不需要下載json包,直接在所需的地方就import json 即可使用,在安裝目錄下的Lib 下,看到這兩個包(點進去仔細閱讀這些源碼,會有更多的收獲,)如下文所示:
B. python在mysql資料庫中執行插入操作,插入json.mps後的包含中文的json對象,資料庫中文顯示為Unicode
直接顯示就是中文
s={"data":{"text":"u53d6u6d88u9759u97f3","result":{"name":"volnotmute"},"service":"control"},"presenterid":"No.0:8815bc80-8301-11e5-ae25-00237d6d53e9","event":"Voiceres","id":250000001}
print(s['data']['text'])
C. python unicode字元裡面的轉義字元如何替換
我有一個比較變態的解決方法----利用json來解析。因為json在編碼時會被轉化為unicode字元串,將這個字元串拼接到一個json中,再解析,就可以達到目的。
importjson
s=u'\uff0c\u73b0\u573aRose\u732e\u6b4c\u906d\u4f17\u4eba\u56f4\u89c2'
ss=s.encode('utf8')
x=json.loads('{"foo":"%s"}'%ss)
printx['foo']
這時,x['foo']已經是正常的unicode對象了。
其實你看到的雙斜杠\只是一個斜杠,因為斜杠是轉義字元。
D. python中怎樣將unicode轉換成原來的中文
python默認就是unicode存儲。如果是從文件讀取的,在open的參數中指定encoding關鍵字參數就行。如下:
#coding=utf-8/importjson /defLoadQuestion(): /f=open("test.json",'r') qas=json.load(f) question=qas['documents'] /returnquestion/t=LoadQuestion() /printstr(t).decode("unicode-escape")
拓展資料:
通常python2時所有IO讀寫都是byte方式。也就是編碼後的。java也是這樣子。只有python3還有某些特定的模塊才會自動將byte重新轉換成unicode
在python2里的確可以使用s.decode('gbk','ignore')之類的變成unicode。不過在python3里應該是這樣子, s.encode('gbk','ignore')這樣就變成了byte
如果你喜歡 utf-8,可以s.encode(『utf-8','ignore')和s.decode(『utf-8','ignore')
E. Python json unicode轉中文
importsys
reload(sys)
sys.setdefaultencoding("utf-8")
result=[[u'9.6',u'50'],1,True,u'1292052',[u'u72afu7f6a',u'u5267u60c5'],[u'u7f8eu56fd'],u'',u'1994-09-10',15,725531,u'9.6']
f=open('data.csv','w')
foriinresult:
iftype(i)islist:
forjini:
iftype(j)==intortype(j)==floatortype(j)==bool:
j=str(j)+','
else:
j=j.encode('gbk')+','
printj,
print>>f,j,
else:
iftype(i)==intortype(i)==floatortype(i)==bool:
i=str(i)+','
else:
i=i.encode('gbk')+','
printi,
print>>f,i,
f.close()