unicodepythonjson
⑴ 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'])
⑵ 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()
⑶ python一行式解析json怎麼避免中文轉化為unicode編碼
必須轉!
json是用於交換數據的茄滑氏,Unicode等 多位元組字元 會在傳輸過程中出錯。
"\u4e2d\u6587" ,嚴格的說,這不是utf格式編碼,而是 unicode轉義。
更新
用repr()保存json對象
>>> import json
>>> j = json.loads('{"one":{"two":"中文"}}')
>>> print(j)
{'one': {'two': '中文'}}
>>> j['one']['two']
'中文'
>>> d =json.mps(j)
>>> print(d)
{"one": {"two": "\u4e2d\u6587"}}
>>> r = repr(j)
>>> print(r)
{'one': {'two': '中文'}}
>>> with open('test.json','w') as w:
w.write(r)
不知道什麼原因,我看不到評論。讓戚
你顫散的意思是,只想在控制台顯示一下json文件內容,是吧~
那你就把 json模塊下的 tool.py 復制出來,改個名字,例如:my_json_tool.py
然後在 main() 里的 調用mp()方法處,給它添加個 參數 ensure_ascii=False
控制台命令也要作相應修改。
⑷ 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')
⑸ python 怎麼處理json
json.mps()
該函數可以將簡單數據類型(int\float\string\tuple\list\dict\unicode)轉換成JSON格式,樣例代碼如下:
import json
src_data = {"name":"Tacey","age":13,"sex":"male","interst":("Programing","Reading")}
#print repr(src_data)
print json.mps(src_data)
輸出如下:
{'interst':('Programing','Reading'),'age':23,'name':'Tacey','sex':'male'}
{"interst":["programing","Reading"],"age":23,"name":"Tacey","sex":mal"}
2、json.loads()
該函數可以將JSON數據轉換成Python的簡單數據類型,接著上面的代碼:
json_data = json.mps(src_data)
print json.loads(json_data)["name"]
輸出結果:
Tacey
⑹ python中json.loads()為什麼都變成unicode了加了encoding='utf-8'也沒用。我希望得到utf8的k-v,怎麼做
json裡面的字元串都是unicode(見消瞎穗http://json.org/)神李,所以在dd中不可能出現utf-8的kv。loads函數的參數encoding是指定字元串j_str的編碼。將字元串j_str讀到dd時,會按這個編碼進行解碼成unicode。
dd=json.loads(j_str,encoding='utf-8')#dd中的字元串都拿卜是unicode
⑺ 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 下,看到這兩個包(點進去仔細閱讀這些源碼,會有更多的收獲,)如下文所示:
⑻ 【json.tool】關於python -m json.tool中文亂碼問題的處理
python一行式局談解析json怎麼避指老免中文轉化為unicode編碼?
在以 json 為數據傳輸格式的 RESTful 介面非常流行。為調試這樣的介面,一個常用的辦法是使用 curl 命令:
curl http://xx.xx.xx.xx/some-restful-api
對於返回的 json 字元串,一般在服務端不加處理的情況下,都是沒有任何 '\t' 和 '\n' 的。
為了方便查看,在 bash 上可以簡單地對它進行格式化:
curl http://xx.xx.xx.xx/some-restful-api | python -m json.tool
當然這要求機器上安裝了 python,其實也就是利用了 json.tool 這個程序。
然而有時候還有一個問題,就是若返回的 json 字元串中包含中文,那麼這樣列印出來之後,中唯臘升文會變成以 \u 開頭的轉義形式,從而讓程序員無法直接觀察到中文的內容,這並非是一個 bug,而是 json 本身的標准,它要求 json 的內容都是 ascii 編碼的,標準的 json 編碼器和解碼器都會遵循這一點。
# vim /usr/lib64/python2.7/json/tool.py
# curl -s -X POST https://run.mocky.io/v3/e95f6c35-b3c8-43d9-b9ab-f5ce8c1054cf -H 'cache-control: no-cache' | python -m json.tool
python -m json.tool中文亂碼問題
https://blog.csdn.net/twingao/article/details/105169997
python -m json.tool 中文亂碼 Format JSON with python
https://www.cnblogs.com/ruiy/p/6525591.html
python -m json.tool to output Chinese
python -m json.tool to output Chinese
Saving utf-8 texts with json.mps as UTF8, not as \u escape sequence
https://stackoverflow.com/questions/18337407/saving-utf-8-texts-with-json-mps-as-utf8-not-as-u-escape-sequence
⑼ Python各種坑--JSON.load成Unicode
Python自帶的Json庫會把json文件load成Unicode對象。如果想要變成str對象的話,就要敬橋自己去encode。
祭出大法...
這個函數遞歸的把亮凱猛list和dict里的Unicode對象encode成str。當然,我不覺得這是the right way。使用yaml里的json來代替官方孫拍自帶的json可能更好。
⑽ 為什麼python運行json會提示JsonDecodeError
是編碼的問題
按Ctrl+c復制你寫的代碼,新建一個文檔,再粘貼,不要設置編碼,再運行,就OK了
或者將編碼設成GBK