我們在做工作中經常會使用到json模塊,今天就簡單介紹下json模塊
?
什么是json
JSON ,全稱為JavaScript Object Notation, 也就是JavaScript 對象標記,它通過對象和數組的組合米表示數據,構造簡潔但是結構化程度非常高,是一種輕量級的數據交換格式。json模塊在python中可以作為數據解析json
?
對象和數組
在JavaScript 語言中,一切都是對象。任何支持的類型都可以通過JSON來表示,例如字符串、數字、對象、數組等,但是對象和數組是比較特殊且常用的兩種類型
對象 :它在JavaScript中是使用花括號{ }包裹起來的內容,數據結構為{ keyl : valuel,key2:value2}的鍵值對結構。在面向對象的語言中,key為對象的屬性,value 為對應的值。鍵名可以使用整數和字符串來表示。值的類型可以是任意類型。
數組 :數組在JavaScript中是方括號[]包裹起來的內容,數據結構為[ ”java ” ,” javascript ”,"vb " ]的索引結構。在JavaScript中, 數組是一種比較特殊的數據類型,它也可以像對象那樣使用鍵值對,但還是索引用得多。同樣,值的類型可以是任意類型。
?
JSON對象格式
會發現和我們的字典格式是不是特別的一樣
# 格式為{"name":"value"}
[{
"
name
"
:
"
AnJing
"
,
"
age
"
:
"
26
"
}]
?
JSON簡單使用
loads()方法
?使用方法loads()將 json文字轉化成json對象
#
coding:utf-8
import
json
str
=
'''
[{
"name":"AnJing",
"age":"26"
}]
'''
data
=
json.loads(str)
print
(data)
print
(type(data))
print
(data[0][
'
name
'
])
#
通過下標進行選擇
print
(data[0].get(
'
name
'
))
代碼結果:
[{
'
name
'
:
'
AnJing
'
,
'
age
'
:
'
26
'
}]
<
class
'
list
'
>
AnJing
AnJing
注意:在使用loads的時候json字符串必須要用雙引號表示,否則會報錯
(json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 3 column 5 (char 12)
)
dumps()方法
使用dumps()方法將json轉換成字符串
#
coding:utf-8
import
json
str
=
[{
"
name
"
:
"
AnJing
"
,
"
age
"
:
"
26
"
}]
print
(type(str))
data
=
json.dumps(str)
print
(type(data))
print
(data)
代碼結果:
<
class
'
list
'
>
<
class
'
str
'
>
[{
"
name
"
:
"
AnJing
"
,
"
age
"
:
"
26
"
}]
另外如果想要保存的文字好看點,我們可以增加一個參數indent,代表縮進字符個數,已經可以寫入中文的時候不會亂碼,加入ensure_ascii=False
#
coding:utf-8
import
json
str
=
[{
"
name
"
:
"
安靜
"
,
"
age
"
:
"
26
"
,
"
性別
"
:
"
男
"
}]
#
indent 表示縮進
#
ensure_ascii=False 表示寫入中文
with open(
'
123.json
'
,
'
w
'
,encoding=
'
utf-8
'
)as f:
f.write(json.dumps(str,indent
=2,ensure_ascii=
False))
代碼結果:
[
{
"
name
"
:
"
安靜
"
,
"
age
"
:
"
26
"
,
"
性別
"
:
"
男
"
}
]
load()方法
將文件內容轉換成json數據
#
導入json模塊
import
json
str
=
[{
"
name
"
:
"
AnJing
"
,
"
age
"
:
"
26
"
}]
#
通過dumps寫入文件中
with open(
'
123.json
'
,
'
w
'
)as f:
f.write(json.dumps(str))
#
通過load將數據轉換成json
data = json.load(open(
'
123.json
'
,
'
r
'
))
print
(data)
代碼結果:
[{
'
name
'
:
'
AnJing
'
,
'
age
'
:
'
26
'
}]
dump()方法
將json數據寫入到文件中
#
coding:utf-8
import
json
str
=
[{
"
name
"
:
"
AnJing
"
,
"
age
"
:
"
26
"
}]
#
通過dump寫入到json中
json.dump(str,open(
'
123.json
'
,
'
w
'
))
#
通過load查看是否寫入
data = json.load(open(
'
123.json
'
,
'
r
'
))
print
(data)
代碼結果:
[{
'
name
'
:
'
AnJing
'
,
'
age
'
:
'
26
'
}]
?
?
簡單的寫了寫json模塊的使用方法,以及json的簡單介紹,歡迎繼續補充沒有涉及到的知識。
?
感覺寫的對您有幫助的,點個關注不迷路~~~~
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

