python 對(duì)象和json互相轉(zhuǎn)換方法
一、python對(duì)json的支持
從python2.6開(kāi)始,python標(biāo)準(zhǔn)庫(kù)中添加了對(duì)json的支持,操作json時(shí),只需要import json即可。
二、python對(duì)象轉(zhuǎn)換成json字符串
在把python對(duì)象轉(zhuǎn)換成json字符串時(shí),只需要如下知識(shí)即可:
1.python對(duì)象到j(luò)son字符串的轉(zhuǎn)換規(guī)則:
Python | JSON |
---|---|
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
2. 主要使用如下函數(shù):
該函數(shù)的具體參數(shù)(具體用法參見(jiàn)附錄中鏈接):
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding=”utf-8”, default=None, sort_keys=False, **kw)
示例
測(cè)試代碼:
#構(gòu)造字典 python2json = {} #構(gòu)造list listData = [1,2,3] python2json["listData"] = listData python2json["strData"] = "test python obj 2 json" #轉(zhuǎn)換成json字符串 json_str = json.dumps(python2json) print json_str
轉(zhuǎn)換結(jié)果:
{ "listData": [ 1, 2, 3 ], "strData": "test python obj 2 json" }
三、json字符串轉(zhuǎn)換成python對(duì)象
同理,把json字符串轉(zhuǎn)換成python對(duì)象也只需具備如下知識(shí)即可:
1.json字符串到python對(duì)象的轉(zhuǎn)換規(guī)則:
JSON | Python |
---|---|
object | dict |
array | list |
string | unicode |
number (int) | int, long |
number (real) | float |
true True | |
false | False |
null | None |
2. 主要使用如下函數(shù):
json.loads()
該函數(shù)的具體參數(shù)(具體用法參見(jiàn)附錄中鏈接):
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
示例
測(cè)試代碼:
str = '{"listData": [1, 2, 3], "strData": "test python obj 2 json"}' json2python = json.loads(str) print type(json2python)
轉(zhuǎn)換結(jié)果:
<type 'dict'>
四、附錄
https://docs.python.org/2/library/json.html
http://www.dbjr.com.cn/article/102146.htm
以上這篇python 對(duì)象和json互相轉(zhuǎn)換方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
六個(gè)竅門(mén)助你提高Python運(yùn)行效率
這篇文章主要介紹了六個(gè)竅門(mén)助你提高Python運(yùn)行效率,本文講解了關(guān)鍵代碼使用外部功能包、在排序時(shí)使用鍵、針對(duì)循環(huán)的優(yōu)化、使用較新的Python版本等優(yōu)化竅門(mén),需要的朋友可以參考下2015-06-06python數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)標(biāo)準(zhǔn)化的幾種處理方式
這篇文章主要介紹了python數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)標(biāo)準(zhǔn)化的幾種處理方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程
這篇文章主要介紹了詳解centos7+django+python3+mysql+阿里云部署項(xiàng)目全流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11python實(shí)現(xiàn)實(shí)時(shí)監(jiān)控文件的方法
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)實(shí)時(shí)監(jiān)控文件的3種方法,感興趣的小伙伴們可以參考一下2016-08-08pytorch+lstm實(shí)現(xiàn)的pos示例
今天小編就為大家分享一篇pytorch+lstm實(shí)現(xiàn)的pos示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Pandas DataFrame操作數(shù)據(jù)增刪查改
我們?cè)谟?nbsp;pandas 處理數(shù)據(jù)的時(shí)候,經(jīng)常會(huì)遇到用其中一列數(shù)據(jù)替換另一列數(shù)據(jù)的場(chǎng)景。這一類(lèi)的需求估計(jì)很多人都遇到,當(dāng)然還有其它更復(fù)雜的。解決這類(lèi)需求的辦法有很多,這里我們來(lái)推薦幾個(gè),這篇文章主要介紹了Pandas DataFrame操作數(shù)據(jù)的增刪查改2022-10-10