日韩精品成人无码专区免费-国产99久久久久久免费看-国产精品丝袜久久久久久不卡-国产精品无码一区二区三区

JSON在Python中的使用介紹

發布時間:2024-10-15 點擊:180
【相關學習推薦:python視頻】
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)。
json在python中的使用
在python中操作json時需要引入json標準庫。
import json
類型轉換
python類型轉json:
json.dump()
#1.python的dict類型轉json
person_dict = {‘name’: ‘pig’, ‘age’: 18, ‘sex’: ‘man’, ‘hometown’: ‘江西撫州’}
indent參數為縮進空格數
person_dict_json = json.dumps(person_dict, indent=4)print(person_dict_json, ‘\\\\n’)
2.python的列表類型轉json
person_list = [‘pig’, 18, ‘man’, ‘江西撫州’]person_list_json = json.dumps(person_list)print(person_list_json, ‘\\\\n’)
3、python的對象類型轉json
person_obj = person(‘pig’, 18, ‘man’, ‘江西撫州’)
中間的匿名函數是獲得對象所有屬性的字典形式
person_obj_json = json.dumps(person_obj, default=lambda obj: obj.dict, indent=4)print(person_obj_json, ‘\\\\n’)
json轉python類型:
json.loads()
4、json轉python的dict類型
person_json = ‘{ “name”: “pig”,”age”: 18, “sex”: “man”, “hometown”: “江西撫州”}’
person_json_dict = json.loads(person_json)print(type(person_json_dict), ‘\\\\n’)
5、json轉python的列表類型
person_json2 = ‘[“pig”, 18, “man”, “江西撫州”]’
person_json_list = json.loads(person_json2)print(type(person_json_list), ‘\\\\n’)
6、json轉python的自定義對象類型
person_json = ‘{ “name”: “pig”,”age”: 18, “sex”: “man”, “hometown”: “江西撫州”}’
object_hook參數是將dict對象轉成自定義對象
person_json_obj = json.loads(person_json, object_hook=lambda d: person(d[‘name’], d[‘age’], d[‘sex’], d[‘hometown’]))print(type(person_json_obj), ‘\\\\n’)
python和json數據類型對應表
jsonpythonobjectdictarrayliststringstrnumberint,long,floattrue,falsetrue,falsenullnone
需要注意的點
json的鍵名和字符串都必須使用雙引號引起來,而python中單引號也可以表示為字符串,所以這是個比較容易犯的錯誤!
python類型與json相互轉換的時候到底是用load/dump還是用loads\\\\dumps?
不加s的方法入參多了一個fp表示filepath,最后多了一個寫入文件的操作。
所以我們在記憶的時候可以這樣記憶:
加s表示轉成字符串(str),不加s表示轉成文件。
相關推薦:編程視頻課程

交互設計分享(一)
為什么要保護域名?域名是如此重要?
剛才還是頁面現在成了無法訪問
騰訊云服務器鏡像評測
騰訊云服務器如何搭建網站
云ecs服務器如何注銷
云服務器什么時候買
云服務器租用最便宜