国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

簡單介紹Python中的JSON模塊

2020-02-23 00:36:36
字體:
來源:轉載
供稿:網友

(一)什么是json:

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C, C++, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。

JSON建構于兩種結構:

“名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),紀錄(record),結構(struct),字典(dictionary),哈希表(hash table),有鍵列表(keyed list),或者關聯數組 (associative array)。

值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)。

這些都是常見的數據結構。事實上大部分現代計算機語言都以某種形式支持它們。這使得一種數據格式在同樣基于這些結構的編程語言之間交換成為可能。

(二)Python JSON模塊

Python2.6開始加入了JSON模塊,無需另外下載,Python的Json模塊序列化與反序列化的過程分別是 encoding和 decoding。encoding-把一個Python對象編碼轉換成Json字符串;decoding-把Json格式字符串解碼轉換成Python對象。要使用json模塊必須先導入:

import json

1,簡單數據類型的處理

Python JSON模塊可以直接處理簡單數據類型(string、unicode、int、float、list、tuple、dict)。 json.dumps()方法返回一個str對象,編碼過程中會存在從python原始類型向json類型的轉化過程,具體的轉化對照如下:

20154892843670.png (244×200)

json.dumps方法提供了很多好用的參數可供選擇,比較常用的有sort_keys(對dict對象進行排序,我們知道默認dict是無序存放的)、separators,indent等參數,dumps方法的定義為:

json.dump(obj, fp, 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)

使用簡單的json.dumps方法對簡單數據類型進行編碼,例如:
 

obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)}] encodedjson = json.dumps(obj) print 'the original list:/n',obj print 'length of obj is:',len(repr(obj))print 'repr(obj),replace whiteblank with *:/n', repr(obj).replace(' ','*') print 'json encoded,replace whiteblank with *:/n',encodedjson.replace(' ','*')

輸出:(Python默認的item separator是‘, '(不是','),所以list無論是轉化成字符串還是json格式,成員之間都是有空格隔開的)
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 比如县| 三台县| 昌都县| 左权县| 莱芜市| 岱山县| 太谷县| 繁峙县| 灵武市| 凭祥市| 古丈县| 桃园县| 中超| 辽阳市| 牡丹江市| 从化市| 咸宁市| 高安市| 汤原县| 西充县| 团风县| 平武县| 普兰县| 淳安县| 遵义县| 时尚| 抚顺市| 微山县| 日喀则市| 清新县| 城口县| 沙河市| 漳州市| 潞西市| 封开县| 印江| 鄂托克前旗| 陵水| 中江县| 中山市| 通城县|