python序列化和反序列化_Python 中 json 数据序列化和反序列化
1.Json 定義
定義:JSON(JavaScript Object Notation, JS 對(duì)象簡(jiǎn)譜) 是一種輕量級(jí)的數(shù)據(jù)交換格式。JSON 的數(shù)據(jù)格式其實(shí)就是 python 里面的字典格式,里面可以包含方括號(hào)括起來(lái)的數(shù)組,也就是python里面的列表。
特點(diǎn):簡(jiǎn)潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語(yǔ)言。 易于人閱讀和編寫(xiě),同時(shí)也易于機(jī)器解析和生成,并有效地提升網(wǎng)絡(luò)傳輸效率。
在 JS 語(yǔ)言中,一切都是對(duì)象。因此,任何支持的類(lèi)型都可以通過(guò) JSON 來(lái)表示,例如字符串、數(shù)字、對(duì)象、數(shù)組等。但是對(duì)象和數(shù)組是比較特殊且常用的兩種類(lèi)型:
對(duì)象表示為鍵值對(duì)
數(shù)據(jù)由逗號(hào)分隔
花括號(hào)保存對(duì)象
方括號(hào)保存數(shù)組
序列化簡(jiǎn)單定義:變成 json 格式。定義:變成json格式。
反序列化簡(jiǎn)單定義: json 格式變其它
"""字典格式與json格式對(duì)比"""
# 字典格式:
d = {'a': 123,'b': {'x': ['A', 'B', 'C']}}
# json格式
# 必須是雙引號(hào)(因?yàn)閖ava等其它語(yǔ)言有使用雙引號(hào)表示字符串,單引號(hào)不表示字符串)
{"a": 123,"b": {"x": ["A", "B", "C"]}}
在 python 中,有專(zhuān)門(mén)處理 Json 格式的模塊 ——> json 和 picle模塊
Json 模塊提供了四個(gè)方法: dumps、dump、loads、load
pickle 模塊也提供了四個(gè)功能:dumps、dump、loads、load
2.json.dumps() 序列化
將 python 的值轉(zhuǎn)換為 Json 格式的字符串?!?/p>
import json
res = {"userAccount":"admin","loginPwd":"123456"}
print(type(res))
du_res = json.dumps(res)
# print(du_res)
print(type(du_res))
# 結(jié)果如下
# json序列化過(guò)程中的中文顯示
import json
res = {"userAccount":"管理員","loginPwd":"123456"}
du_res = json.dumps(res)
print(du_res)
# 結(jié)果如下
{"userAccount": "管理員", "loginPwd": "123456"}
# 轉(zhuǎn)碼
import json
res = {"userAccount":"管理員","loginPwd":"123456"}
du_res = json.dumps(res,ensure_ascii=False)
print(du_res)
#結(jié)果如下
{"userAccount": "管理員", "loginPwd": "123456"}
3.json.loads() 反序列化
將 json 格式的字符串轉(zhuǎn)換成 python 的數(shù)據(jù)類(lèi)型
import json
res = {"userAccount":"管理員","loginPwd":"123456"}
du_res = json.dumps(res,ensure_ascii=False)
print(type(du_res))
# 將 json 格式的字符串轉(zhuǎn)換成 python 的數(shù)據(jù)類(lèi)型
dictlo_res = json.loads(du_res)
print(type(lo_res))
# 結(jié)果如下
總結(jié)
以上是生活随笔為你收集整理的python序列化和反序列化_Python 中 json 数据序列化和反序列化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java学习(3):学生管理系统3
- 下一篇: Python List reverse(