網站首頁 前端文檔 正文
JSON (JavaScript Object Notation) 是一種輕量級的數據交換格式。Python3 中可以使用 json 模塊來對 JSON 數據進行編解碼,主要包含了下面4個操作函數:
提示:所謂類文件對象指那些具有read()或者 write()方法的對象,例如,f = open('a.txt','r'),其中的f有read()方法,所以f就是類文件對象。?
在json的編解碼過程中,python 的原始類型與JSON類型會相互轉換,具體的轉化對照如下:
Python 編碼為 JSON 類型轉換對應表:
Python | JSON |
dict | object |
list, tuple | array |
str | string |
int, float, int- & float-derived Enums | number |
True | true |
False | false |
None | null |
JSON 解碼為 Python 類型轉換對應表:
JSON | Python |
object | dict |
array | list |
string | str |
number (int) | int |
number (real) | float |
true | True |
false | False |
null | None |
操作示例?:
import json data = { 'name': 'pengjunlee', 'age': 32, 'vip': True, 'address': {'province': 'GuangDong', 'city': 'ShenZhen'} } # 將 Python 字典類型轉換為 JSON 對象 json_str = json.dumps(data) print(json_str) # 結果 {"name": "pengjunlee", "age": 32, "vip": true, "address": {"province": "GuangDong", "city": "ShenZhen"}} # 將 JSON 對象類型轉換為 Python 字典 user_dic = json.loads(json_str) print(user_dic['address']) # 結果 {'province': 'GuangDong', 'city': 'ShenZhen'} # 將 Python 字典直接輸出到文件 with open('pengjunlee.json', 'w', encoding='utf-8') as f: json.dump(user_dic, f, ensure_ascii=False, indent=4) # 將類文件對象中的JSON字符串直接轉換成 Python 字典 with open('pengjunlee.json', 'r', encoding='utf-8') as f: ret_dic = json.load(f) print(type(ret_dic)) # 結果 <class 'dict'> print(ret_dic['name']) # 結果 pengjunlee
注意:使用eval()能夠實現簡單的字符串和Python類型的轉化。?
user1 = eval('{"name":"pengjunlee"}') print(user1['name']) # 結果 pengjunlee
原文鏈接:https://blog.csdn.net/pengjunlee/article/details/89280812
相關推薦
- 2023-01-02 C語言中讀寫交替時出現的問題分析_C 語言
- 2023-01-18 解決CentOS下ImportError:?No?module?named?'_sqlite3'的問
- 2022-07-22 定時任務和延時任務詳解
- 2022-08-23 python合并RepeatMasker預測結果中染色體的overlap區域_python
- 2023-03-03 Android獲取RecyclerView滑動距離方法詳細講解_Android
- 2022-11-23 詳解React?Native中如何使用自定義的引用路徑_React
- 2022-09-06 Redis與本地緩存的結合實現_Redis
- 2023-10-13 CSS點擊切換或隱藏盒子的卷起、展開效果
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支