
作者:天津九安特機電工程有限公司 來(lái)源: 天津九安特機電工程有限公司 日期:2026-05-04 15:23:13
P(′?_?`)ython對象轉換為JSON格式,對象(╬?益?)可使用內置的對象
json模塊進(jìn)行序列化。
在Python中,對象將對象轉換為JS(╯°□°)╯ON格式是對象一種常見(jiàn)的??數據交換方式,JSON(JavaScript Object Notation)是對象一種輕量級的數據交換格式,易于人閱讀和編寫(xiě),對象同時(shí)也易于機器解析和生成,對象Python標準庫中的對象json模塊提供了將Python對象轉換為JSON格式的功能。
基本轉換方法
使用json.dumps()函數??可以將Python對象轉換為JSON字符串,對象這個(gè)函數接受一個(gè)Python對象作為參數,對象并返回一個(gè)JSO(′?`*)N格式的對象字符串。
import jsondata = { 'name': '張三',對象 'age': 30, 'city': '北京'}json_str = js??on┐(′д`)┌.dumps(data)print(json_str)輸出結果:
{ "n(???)ame": "張三", "age": 30, "c??ity": "北京"}自定義序列化
我們需要對某些不可序列化的對象進(jìn)行自定義序列化,這時(shí),對象我們可以使ヾ(′?`)?用json.dumps()函數的對象default參數來(lái)指定一個(gè)自定義的序列化函數。
import jsonclass Person: def __ini??t__(self,對象 name, age): self(′?_?`).name = name self.age = agedef person_serializer??(obj): if isinstヽ(′▽?zhuān)?ノance(obj, Person): return { 'name': obj.name, 'age': obj.age} raise TypeError("Type not seriali??zable")person = Person('張三',?? 30)json_str = json.dumps(person, default=person_serializer)print(json_str)輸出結果:
{ "name": "張三", "age&q(′▽?zhuān)?uot;: 30}將JSON字符串轉換為Python對象
json.loads()函數可以將JSON字符串轉ヽ(′ー`)ノ換為Python對象,這個(gè)函數接受一個(gè)JSON格(′_`)式的字符串作為參數(shu),并返回一(′?ω?`)個(gè)對應的Python對象。
import jsonjson_str = '{ "(╬?益?)name": "張三", "age": 30, "city": "北京??&quo(╥_╥)t;}'data = json.loads(json_str)print(data)輸出結果:
{ 'name': '張三', 'age': 30, 'c(′▽?zhuān)?ity': '北京'}將Python對象保存到文件
json.dump()函數可以將Python對象保存到文件,這個(gè)函數接受兩個(gè)參數:第一個(gè)參數是Python對象,第二個(gè)參數是一個(gè)文??件對象。
import jsondata = { 'name': '張三', 'age': 30, 'city': '北京'}with open="open"('da( ?° ?? ?°)ta.json', 'w'??) as f: json.dump(data, f)這樣,我們就將data對象保存到了名為??data.json的文件中。
從文件讀取??Python對象
json.loa(?⊿?)d()函數可??以從文件中讀取Python對象,這個(gè)函數接受一個(gè)文件對象作為參數,并返回一個(gè)對應的Pyt??hon對象。
import jsonwith open('data.json', 'r') as f: data = json.load(f)print(data)輸出結(jie)果:
{ 'name': '張三', 'age': 30, 'city': '北京'}相關(guān)問(wèn)題與解答
1、如何將包含中文的字符串(╬ ò﹏ó)轉換為JSON(°□°)格式?
答:直接使用json.dump(′;ω;`)s()函數即可,Python 3默認支持UT??F-8編碼,不需要額外處理。
2、如果遇到不(bu)可序列化的對象,該如何處理?
答??:可以使用json.dumps()函數的default參數來(lái)指定一個(gè)自定義的序列化函數。
3、如何將JSON字符串轉換為Python對象?
答:使用json.loads()函數可以將JSON字符串轉換為Python對象。
4、如何將Python對象保(′ω`*)存到文件或從文件讀取Python對象?
答:使用json??.dump()函數可以ヽ(′?`)ノ將Python對象保存到文件,使用json.load()函數可以從文件中讀取Python對象。