小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python

 新用戶72666D1n 2021-09-01

1. loads方法與load方法的異同
在Python中json是一個非常常用的模塊,這個主要有4個方法:

json.dumps
json.dump
json.loads
json.load
這里主要分析講解一下json的loads和load方法。
這兩個方法中都是把其他類型的對象轉(zhuǎn)為Python對象,這里先說明一下Python對象,
Python對象包括:
所有Python基本數(shù)據(jù)類型,列表,元組,字典,自己定義的類,等等等等,當然不包括Python的字符串類型,把字符串或者文件鎏中的字符串轉(zhuǎn)為字符串會報錯的

1.1不相同點:
loads操作的是字符串
load操作的是文件流
1.2 相同點
除了第一個參數(shù)(要轉(zhuǎn)換的對象)類型不同,其他所有的參數(shù)都相同
最終都是轉(zhuǎn)換成Python對象
1.3 例子
先來一個例子,除了要轉(zhuǎn)換的對象,其他什么參數(shù)都不傳:

 

 

s = '{"name": "wade", "age": 54, "gender": "man"}'
# json.loads讀取字符串并轉(zhuǎn)為Python對象
print("json.loads將字符串轉(zhuǎn)為Python對象: type(json.loads(s)) = {}".format(type(json.loads(s))))
print("json.loads將字符串轉(zhuǎn)為Python對象: json.loads(s) = {}".format(json.loads(s)))

# json.load讀取文件并將文件內(nèi)容轉(zhuǎn)為Python對象
# 數(shù)據(jù)文件要s.json的內(nèi)容 --> {"name": "wade", "age": 54, "gender": "man"}
with open('s.json', 'r') as f:
s1 = json.load(f)
print("json.load將文件內(nèi)容轉(zhuǎn)為Python對象: type(json.load(f)) = {}".format(type(s1)))
print("json.load將文件內(nèi)容轉(zhuǎn)為Python對象: json.load(f) = {}".format(s1))
1
2
3
4
5
6
7
8
9
10
11


2. 轉(zhuǎn)換成Python對象
由于loads和load兩個方法只是處理的數(shù)據(jù)源不同,其他的參數(shù)都是相同的,返回的結(jié)果類型也相同,故這是loads和load方法兩個只說一個,

日常工作中最常見的就是把字符串通過json.loads轉(zhuǎn)為字典,其實json的loads方法不僅可以把字符串轉(zhuǎn)為字典,還可以轉(zhuǎn)為任何Python對象。
比如說,轉(zhuǎn)成python基本數(shù)據(jù)類型:

 

 

print('json.loads 將整數(shù)類型的字符串轉(zhuǎn)為int類型: type(json.loads("123456"))) --> {}'.format(type(json.loads("123456"))))
print('json.loads 將浮點類型的字符串轉(zhuǎn)為float類型: type(json.loads("123.456")) --> {}'.format(type(json.loads("123.456"))))
print('json.loads 將boolean類型的字符串轉(zhuǎn)為bool類型: type(json.loads("true")) --> {}'.format((type(json.loads("true")))))
print('json.loads 將列表類型的字符串轉(zhuǎn)為列表: type(json.loads(\'["a", "b", "c"]\')) --> {}'.format(type(json.loads('["a", "b", "c"]'))))
print('json.loads 將字典類型的字符串轉(zhuǎn)為字典: type(json.loads(\'{"a": 1, "b": 1.2, "c": true, "d": "ddd"}\')) --> %s' % str(type(json.loads('{"a": 1, "b": 1.2, "c": true, "d": "ddd"}'))))
1
2
3
4
5
json模塊會根據(jù)你的字符串自動轉(zhuǎn)為最符合的數(shù)據(jù)類型,
但是需要注意的是不能把轉(zhuǎn)為字符串,否則會報json.decoder.JSONDecodeError錯誤:

 

 

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
————————————————
版權(quán)聲明:本文為CSDN博主「荒野雄兵」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/daerzei/article/details/100598901

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多