json中load和loads區別


相同點

  1. dump 和 dumps 都實現了序列化
  2. load 和 loads 都實現反序列化

變量從內存中變成可存儲或傳輸的過程稱之為序列化
序列化是將對象狀態轉化為可保存或可傳輸格式的過程。

變量內容從序列化的對象重新讀到內存里稱之為反序列化
反序列化是流轉換為對象。

區別

1. load 和 loads (反序列化)
load:針對文件句柄,將json格式的字符轉換為dict,從文件中讀取 (將string轉換為dict)

1
a_json = json.load(open('demo.json','r'))

loads:針對內存對象,將string轉換為dict (將string轉換為dict)

1
a = json.loads('{'a':'1111','b':'2222'}')

2. dump 和 dumps(序列化)

dump:將dict類型轉換為json字符串格式,寫入到文件 (易存儲)

1
2
a_dict = {'a':'1111','b':'2222'}
json.dump(a_dict, open('demo.json', 'w')

dumps:將dict轉換為string (易傳輸)

1
2
a_dict = {'a':'1111','b':'2222'}
a_str = json.dumps(a_dict)

總結

根據序列化和反序列的特性

loads: 是將string轉換為dict
dumps: 是將dict轉換為string
load: 是將里json格式字符串轉化為dict,讀取文件
dump: 是將dict類型轉換為json格式字符串,存入文件

 

轉鏈接:https://www.cnblogs.com/bigtreei/p/10466518.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM