python 對象和json互相轉(zhuǎn)換方法
一、python對json的支持
從python2.6開始,python標(biāo)準(zhǔn)庫中添加了對json的支持,操作json時,只需要import json即可。
二、python對象轉(zhuǎn)換成json字符串
在把python對象轉(zhuǎn)換成json字符串時,只需要如下知識即可:
1.python對象到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ù)(具體用法參見附錄中鏈接):
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)
示例
測試代碼:
#構(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對象
同理,把json字符串轉(zhuǎn)換成python對象也只需具備如下知識即可:
1.json字符串到python對象的轉(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ù)(具體用法參見附錄中鏈接):
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
示例
測試代碼:
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 對象和json互相轉(zhuǎn)換方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)標(biāo)準(zhǔn)化的幾種處理方式
這篇文章主要介紹了python數(shù)據(jù)預(yù)處理之?dāng)?shù)據(jù)標(biāo)準(zhǔn)化的幾種處理方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07詳解centos7+django+python3+mysql+阿里云部署項目全流程
這篇文章主要介紹了詳解centos7+django+python3+mysql+阿里云部署項目全流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Pandas DataFrame操作數(shù)據(jù)增刪查改
我們在用 pandas 處理數(shù)據(jù)的時候,經(jīng)常會遇到用其中一列數(shù)據(jù)替換另一列數(shù)據(jù)的場景。這一類的需求估計很多人都遇到,當(dāng)然還有其它更復(fù)雜的。解決這類需求的辦法有很多,這里我們來推薦幾個,這篇文章主要介紹了Pandas DataFrame操作數(shù)據(jù)的增刪查改2022-10-10