日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

摘要:

在Python/ target=_blank class=infotextkey>Python中,JSON庫是處理JSON數據的關鍵工具。本文將帶你深入了解Python中的JSON庫,包括如何編碼和解碼JSON數據、訪問嵌套數據、處理特殊類型和日期時間,以及自定義編碼解碼的行為。無論你是初學者還是有經驗的開發者,本文都將為你提供一個完整的指南與技巧,助你處理JSON數據更加靈活、高效。

正文:

JSON(JAVAScript Object Notation)是一種常用的數據格式,在Python中處理JSON數據的關鍵工具是JSON庫。下面是關于Python中JSON庫的一些重要功能和技巧。

1.編碼和解碼

  • json.dumps():將Python對象編碼為JSON字符串。
  • json.loads():將JSON字符串解碼為Python對象。
import json

data = {'name': 'John', 'age': 30, 'city': 'New York'}
json_str = json.dumps(data)
print(json_str)
# 輸出: {"name": "John", "age": 30, "city": "New York"}

json_str = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_str)
print(data)
# 輸出: {'name': 'John', 'age': 30, 'city': 'New York'}

 

2.訪問和處理數據

  • 使用索引或鍵訪問嵌套的JSON數據。
  • 處理JSON數組,通過索引或循環訪問其中的元素。
  • 處理特殊類型數據(布爾值、None和特殊的數值類型)。
import json

json_str = '{"name": "John", "age": 30, "city": {"name": "New York", "population": 8398748}}'
data = json.loads(json_str)

print(data['name'])
# 輸出: John

print(data['city']['name'])
# 輸出: New York

json_str = '[{"name": "John", "age": 30}, {"name": "Jane", "age": 25}]'
data = json.loads(json_str)

print(data[0]['name'])
# 輸出: John

for item in data:
    print(item['age'])
# 輸出: 30
#      25

data = {'name': 'John', 'is_student': True, 'score': None}
json_str = json.dumps(data)
print(json_str)
# 輸出: {"name": "John", "is_student": true, "score": null}

 

3.自定義編碼與解碼

  • 使用default參數自定義編碼過程中的行為。
  • 使用object_hook參數自定義解碼過程中的行為。
import json

def custom_encoder(obj):
    if isinstance(obj, set):
        return list(obj)

data = {'name': 'John', 'hobbies': {'reading', 'pAInting'}}
json_str = json.dumps(data, default=custom_encoder)
print(json_str)
# 輸出: {"name": "John", "hobbies": ["reading", "painting"]}

def custom_decoder(obj):
    if 'name' in obj and 'hobbies' in obj:
        return Person(obj['name'], obj['hobbies'])

class Person:
    def __init__(self, name, hobbies):
        self.name = name
        self.hobbies = hobbies

json_str = '{"name": "John", "hobbies": ["reading", "painting"]}'
data = json.loads(json_str, object_hook=custom_decoder)
print(data.name)
# 輸出: John

print(data.hobbies)
# 輸出: ["reading", "painting"]

 

4.處理日期和時間

  • 通過自定義函數將日期和時間對象轉換為字符串進行序列化。
  • 將字符串反序列化為日期和時間對象。
import json
from datetime import datetime

def custom_encoder(obj):
    if isinstance(obj, datetime):
        return obj.strftime('%Y-%m-%d %H:%M:%S')

def custom_decoder(obj):
    if 'timestamp' in obj:
     		return datetime.strptime(obj['timestamp'], '%Y-%m-%d %H:%M:%S')

data = {‘event’: ‘meeting’, ‘timestamp’: datetime.now()}
json_str = json.dumps(data, default=custom_encoder)
print(json_str)

data = json.loads(json_str, object_hook=custom_decoder)
print(data[‘timestamp’])


通過使用這些功能和技巧,你可以在Python中靈活、高效地處理JSON數據。

結論: Python中的JSON庫是處理JSON數據的關鍵工具。

 

如何編碼和解碼JSON數據、訪問和處理數據、處理特殊類型和日期時間,以及自定義編碼解碼的行為。無論是處理簡單的數據還是復雜的嵌套結構,使用JSON庫可以輕松地在Python中處理JSON數據。

分享到:
標簽:JSON
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定