程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python基礎庫-JSON庫

編輯:Python


活動地址:CSDN21天學習挑戰賽

文章目錄

  • 1 JSON介紹
    • 1.1 json介紹
    • 1.2 json 特點
    • 1.3 json 文件的處理
    • 1.4 json 語法規則
    • 1.5 json 鍵
    • 1.6 json 文件的書寫
    • 1.7 讀取json文件的方法(json. load)
    • 1.8 操作json文件常見錯誤

1 JSON介紹

JSON的全稱是JavaScript Object Notation",是JavaScript對象表示法, 它是一種基於文本,獨立於語言的輕量級數據交換格式。

json文件:

●一般是定義數據使用的
●在互聯網傳遞數據的時候很常見的一種文件格式
●所有數據用- -對大括號括起來
●大括號內部是鍵值對,鍵和值用冒號分隔
●多個鍵值對用逗號分隔
●字符串用雙引號
●數字不需要引號
●列表用空括號
●對象用大括號

{

"name": "tom",
"age": "20",
"addr": [1,2,3]
}

1.1 json介紹

json基於文本,獨立於語言的輕量級的數據交換格式
-基於文本,是一個文本文件
-獨立於語言,不是某個語言特有的,每種編程語言都可以使用的
-輕量級,相同的數據,和其他格式相比,占用的大小比較小
-數據交換格式,後端程序員給前端的數據(json,html xml 等)

1.2 json 特點

1.JSON是純文本
2.JSON具有良好的自我描述性,便於閱讀和編寫
3.JSON具有清斷的層級結構
4.有效地提升網絡傳輸效率

1.3 json 文件的處理

json 文件也是一個文本文件,就可以直接使用read( )和write() 方法
去操作文件,只是使用這兩個方法,不方便,所以對json文件有自己獨特的讀
取和寫入的方法
常用在在做測試的時候,將測試數據定義為json 文件格式,使用代碼讀取
json文件,即讀取測試數據,進行傳參(參數化)

1.4 json 語法規則

-大括號保存對象
-中括號保存數組
-對象數組可以相互嵌套
-數據采用鍵值對標識
-多個數組由逗號分隔
1.json 文件的後綴為 .json
2.json 中主要數據類型為 對象({} 類似 python 中 字典) 和 數組([] 類似 python 中的列表),對象和數組可以互相嵌套
3.一個json 文件是一個對象或者數組( 即 json 文件的最外層要麼是一個{},要麼是一個數組[])
4. json中的對象是由鍵值對組成的,每個數據之間使用逗號隔開,但是最後
一個數據後邊不要寫逗號
5. json中的字符串必須使用雙引號
6. json中的其他數據類型
>數字類型----> int float
> string字符串 ---> str
>布爾類型true, false -----> True, False
>null ----> None

1.5 json 鍵

JSON的鍵必須是字符串類型,用英文雙引號擴起來

1.6 json 文件的書寫

需求:
我叫小明,我今年18歲,性別男,愛好聽歌,游戲,購物,吃飯,睡覺,打豆豆,
我的居住地址為國家中國,城市北京
ptyhon -字典
json -對象
{

"name": "小明",
"age": 18,
"isMen": true,
"like": [
"聽歌",
"游戲",
"購物",
"睡覺",
"打豆豆"
],
"address": {

"country": "中國",
"city": "北京"
}
}

ctrl + alt + L 可以格式化語法

1.7 讀取json文件的方法(json. load)

●第一步要導入json模塊
。import json
●第二步打開json文件
。json中有中文,一般字符集都是utf8,打開文件的時候要指定字符集為utf8
。open(ison文件名, “r”, encoding=“utf8”)
●第三步:調用json模塊的load方法,讀取文件內容
。data = json.load(file)
●第四步:關閉open打開的文件
。file.close()

1.導包import json
2.讀打開文件
3.讀文件
json. load(文件對象)
#返回的是字典(文件中是對象)或者列表(文件中是數組)
# 1, 導入 json
import json
# 2, 讀打開文件
with open('06.json', encoding='gbk') as f:
# buf = f.read()
# print(type(buf), buf)
result = json.load(f)
print(type(result)) # <class 'dict'>
# 獲取姓名
print(result.get('name'))
# 獲取年齡
print(result.get('age'))
# 獲取城市
print(result.get('address').get('city'))
輸出結果:
<class 'dict'>
tom
18
北京

案例2

json文件

{

"name": "tom",
"age": "20",
"addr": [1,2,3]
}

讀取json文件

import json
file = open("06-2.json", encoding="utf8")
data = json.load(file) # 把json文件的內容轉換為python的字典
file.close()
print(data)
執行結果:
{
'name': 'tom', 'age': '20', 'addr': [1, 2, 3]}
import json
file = open("06-2.json", encoding="utf8")
data = json.load(file) # 把json文件的內容轉換為python的字典
file.close()
# print(data)
for n in data:
print(n, data[n])
執行結果:
name tom
age 20
addr [1, 2, 3]

1.8 操作json文件常見錯誤

錯誤1:json格式錯誤

json.decoder.JSONDecodeError

錯誤2:擴展名不是json,是其他的

json文件的擴展名必須是. json

錯誤3:自己創建了一個文件名叫json.py

Attri buteError: module'json' has no attribute '1oad'

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved