精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Python JSON 操作中的七個高效小竅門

開發 后端
本文介紹了 Python 中處理 JSON 數據的各種技巧,包括快速入門、美化輸出、處理特殊字符、自定義排序、性能優化、處理復雜數據類型及批量文件讀寫等。

JSON(JavaScript Object Notation)作為一種輕量級的數據交換格式,在各種應用場景中扮演著重要角色。Python 中處理 JSON 數據非常便捷,主要通過內置的 json 模塊來實現。本文將詳細介紹如何使用 Python 進行 JSON 數據的操作,包括基本的序列化與反序列化、美化輸出、處理特殊字符、自定義排序、優化性能、處理復雜數據類型以及批量文件讀寫等內容。

1. 快速入門:認識 JSON

JSON 是一種輕量級的數據交換格式。它基于 JavaScript 的一個子集,但獨立于語言和平臺。Python 中處理 JSON 數據非常方便,主要通過 json 模塊完成。

示例代碼:

import json

# 創建一個簡單的字典
data = {
    "name": "Alice",
    "age": 30,
    "is_student": False,
    "hobbies": ["reading", "traveling", "coding"]
}

# 將 Python 對象轉換為 JSON 字符串
json_string = json.dumps(data)
print(json_string)

# 將 JSON 字符串轉換回 Python 對象
parsed_data = json.loads(json_string)
print(parsed_data)

輸出:

{"name": "Alice", "age": 30, "is_student": false, "hobbies": ["reading", "traveling", "coding"]}
{'name': 'Alice', 'age': 30, 'is_student': False, 'hobbies': ['reading', 'traveling', 'coding']}

2. 美化輸出:讓 JSON 更好看

直接打印出來的 JSON 字符串可能不夠美觀,尤其是在調試時。使用 json.dumps() 方法的 indent 參數可以生成易讀的格式。

示例代碼:

pretty_json = json.dumps(data, indent=4)
print(pretty_json)

輸出:

{
    "name": "Alice",
    "age": 30,
    "is_student": false,
    "hobbies": [
        "reading",
        "traveling",
        "coding"
    ]
}

3. 處理特殊字符:避免編碼問題

在處理包含特殊字符或非 ASCII 字符的 JSON 數據時,可能會遇到編碼問題。設置 ensure_ascii=False 可以讓非 ASCII 字符正確顯示。

示例代碼:

special_data = {
    "message": "你好,世界!",
    "emoji": "??"
}

json_string = json.dumps(special_data, ensure_ascii=False)
print(json_string)

輸出:

{"message": "你好,世界!", "emoji": "??"}

4. 自定義排序:按照特定順序排序鍵值

默認情況下,json.dumps() 會按照字典的鍵值順序輸出 JSON。如果想自定義排序規則,可以通過傳遞 sort_keys=True 參數實現。

示例代碼:

sorted_json = json.dumps(data, indent=4, sort_keys=True)
print(sorted_json)

輸出:

{
    "age": 30,
    "hobbies": [
        "reading",
        "traveling",
        "coding"
    ],
    "is_student": false,
    "name": "Alice"
}

5. 高效序列化:優化性能

在處理大量數據時,序列化和反序列化的性能至關重要。json 模塊提供了 ensure_ascii 和 separators 等參數來優化性能。

示例代碼:

# 使用 separators 參數去除多余的空格
optimized_json = json.dumps(data, separators=(',', ':'))
print(optimized_json)

輸出:

{"name":"Alice","age":30,"is_student":false,"hobbies":["reading","traveling","coding"]}

6. 自定義序列化:處理復雜數據類型

Python 中的某些數據類型(如 datetime 對象)默認無法被 json.dumps() 序列化。這時可以自定義序列化函數來處理這些復雜數據類型。

示例代碼:

from datetime import datetime

# 定義一個自定義的序列化函數
def custom_serializer(obj):
    if isinstance(obj, datetime):
        return obj.isoformat()
    raise TypeError("Type not serializable")

# 創建一個包含 datetime 對象的字典
complex_data = {
    "name": "Alice",
    "birthdate": datetime(1990, 1, 1),
    "is_student": False,
    "hobbies": ["reading", "traveling", "coding"]
}

# 使用自定義序列化函數
json_string = json.dumps(complex_data, default=custom_serializer)
print(json_string)

輸出:

{"name": "Alice", "birthdate": "1990-01-01T00:00:00", "is_student": false, "hobbies": ["reading", "traveling", "coding"]}

7. 批量處理:優化文件讀寫

在處理大型 JSON 文件時,逐行讀取和寫入可以顯著提高效率。json 模塊提供了 load() 和 dump() 方法來處理文件。

示例代碼:

# 寫入 JSON 文件
with open('data.json', 'w') as file:
    json.dump(data, file, indent=4)

# 讀取 JSON 文件
with open('data.json', 'r') as file:
    loaded_data = json.load(file)
    print(loaded_data)

輸出:

{'name': 'Alice', 'age': 30, 'is_student': False, 'hobbies': ['reading', 'traveling', 'coding']}

實戰案例:處理天氣 API 數據

假設我們需要從一個天氣 API 獲取當前天氣信息,并將其保存到本地文件中。

示例代碼:

import requests
import json

# API 請求 URL
url = "https://api.openweathermap.org/data/2.5/weather?q=Beijing&appid=YOUR_API_KEY"

# 發送 GET 請求
response = requests.get(url)

# 檢查響應狀態碼
if response.status_code == 200:
    # 解析 JSON 數據
    weather_data = response.json()

    # 將數據保存到文件
    with open('weather.json', 'w') as file:
        json.dump(weather_data, file, indent=4)
else:
    print("Error:", response.status_code)

# 讀取并打印數據
with open('weather.json', 'r') as file:
    loaded_weather_data = json.load(file)
    print(loaded_weather_data)

輸出:

{
    "coord": {
        "lon": 116.4074,
        "lat": 39.9042
    },
    "weather": [
        {
            "id": 802,
            "main": "Clouds",
            "description": "scattered clouds",
            "icon": "03n"
        }
    ],
    ...
}

在這個案例中,我們首先發送了一個 GET 請求來獲取北京的天氣數據。然后將返回的 JSON 數據保存到本地文件 weather.json 中,并通過 json.load() 方法讀取文件內容。這樣不僅可以方便地查看數據,還可以用于后續的數據處理和分析。

總結

本文介紹了 Python 中處理 JSON 數據的各種技巧,包括快速入門、美化輸出、處理特殊字符、自定義排序、性能優化、處理復雜數據類型及批量文件讀寫等。通過這些技巧,可以更加高效地管理和操作 JSON 數據。

責任編輯:趙寧寧 來源: 手把手PythonAI編程
相關推薦

2020-09-13 09:14:35

PythonJSON開發

2010-09-26 14:57:40

控制IT預算

2020-07-19 08:11:54

Python代碼開發

2024-11-06 14:26:40

2025-08-04 07:20:00

多云戰略應用組合管理APM

2022-08-20 19:12:22

編程竅門

2013-07-29 10:39:39

App竅門

2010-09-01 09:39:07

CSS

2024-06-24 10:31:46

2023-03-22 14:07:00

機器人

2022-04-14 10:40:11

領導者IT團隊遠程團隊

2009-02-16 16:49:53

DBA經驗

2009-10-09 13:33:00

自學CCNACCNA

2009-06-23 13:32:48

JavaScript初竅門

2010-05-26 10:10:53

openssh

2021-10-18 13:26:15

大數據數據分析技術

2020-03-23 10:59:52

CISO網絡安全漏洞

2024-09-25 08:00:00

Python文件處理

2009-07-14 10:21:19

Eclipse 3.5

2013-07-05 16:08:40

開發效率
點贊
收藏

51CTO技術棧公眾號

一级做a爱片久久| 国产精品一区一区| 日韩中文理论片| 日本黄色www| 激情aⅴ欧美一区二区欲海潮| 91一区一区三区| 国产欧美亚洲视频| 日韩免费黄色片| 日本一区二区在线看| 精品久久国产老人久久综合| 毛片一区二区三区四区| 精品国产白色丝袜高跟鞋| 成人黄页毛片网站| 国产剧情日韩欧美| 国产污污视频在线观看| 天天揉久久久久亚洲精品| 亚洲黄页视频免费观看| 午夜啪啪小视频| 中文av在线全新| 艳妇臀荡乳欲伦亚洲一区| 午夜精品区一区二区三| 色婷婷中文字幕| 久久成人免费网| 日韩av理论片| 日韩美女一级片| 91成人看片| 最近2019年中文视频免费在线观看| 中国xxxx性xxxx产国| 亚洲aⅴ网站| 在线影院国内精品| 日日橹狠狠爱欧美超碰| 性网站在线观看| 亚洲欧美怡红院| 青青成人在线| 色视频在线观看| 成人午夜在线视频| 99国产超薄肉色丝袜交足的后果| 综合久久中文字幕| 视频在线在亚洲| 2020久久国产精品| 国产精品第九页| 欧美激情综合色综合啪啪| 色多多国产成人永久免费网站| 久久无码人妻精品一区二区三区 | 亚洲欧美文学| 久久久精品久久久| 69夜色精品国产69乱| 欧美精品一区二区久久| 亚洲人成网站在线播| 人妻丰满熟妇aⅴ无码| 久久91在线| 亚洲精品国产免费| 精品人妻一区二区免费视频| 久久午夜影院| 日韩电影第一页| 亚洲一区二区三区无码久久| 日韩有码中文字幕在线| 亚洲精品一区二区久| wwwwww日本| 欧美精品久久久久久 | 亚洲91av| 午夜久久久影院| 国产白丝袜美女久久久久| 欧美aaaaa性bbbbb小妇| 欧美性猛交xxxx富婆弯腰| 97xxxxx| 在线看欧美视频| 欧美三级电影网| 日韩av加勒比| 超碰97成人| 亚洲精品成人久久电影| 成人免费av片| 日韩一区二区在线免费| 欧美成人手机在线| 日韩 欧美 精品| 久久国产欧美| 成人中文字幕+乱码+中文字幕| 国产aⅴ一区二区三区| 成熟亚洲日本毛茸茸凸凹| 久久国产精品一区二区三区| 国产一级免费在线观看| 亚洲精选在线视频| 久激情内射婷内射蜜桃| 91精品国产66| 欧美变态口味重另类| 国产麻豆剧传媒精品国产av| 精品一区二区三区的国产在线观看| 日韩网站在线观看| 日本视频www| 男女性色大片免费观看一区二区 | 少妇网站在线观看| 日韩成人在线看| 亚洲香蕉在线观看| 九九热只有精品| 天堂精品中文字幕在线| 91成人在线看| 福利片在线观看| 亚洲一二三四久久| 色免费在线视频| 欧美人体视频| 另类少妇人与禽zozz0性伦| 久久黄色精品视频| 国产一区二区在线看| 久久亚洲精品欧美| 在线观看三级视频| 欧美综合在线视频| 国产毛片毛片毛片毛片毛片毛片| 日韩精品一区二区久久| 国自产精品手机在线观看视频| 亚洲一区二区三区网站| 久久综合狠狠综合久久综合88| 国产精品夜夜夜爽张柏芝| 成人黄色免费短视频| 亚洲第一精品自拍| 黄色片子在线观看| 日本aⅴ精品一区二区三区| 国产伦理久久久| а√中文在线8| 欧美三级电影一区| av中文字幕免费观看| 亚洲精选久久| caoporen国产精品| 免费av网站在线看| 在线精品视频一区二区三四| 丰满岳乱妇一区二区 | 欧美激情一区二区三区蜜桃视频| 国产二级片在线观看| 一区二区三区四区精品视频| www.久久久久| 中文字幕人成人乱码亚洲电影| 91在线小视频| av网站在线观看不卡| 激情av综合| 久久久视频精品| 亚洲免费不卡视频| 一区二区三区四区在线免费观看| 中文字幕66页| 日韩欧美一区免费| 国产精品中文字幕在线| 五月婷婷在线视频| 欧美日韩视频专区在线播放| 日韩女同一区二区三区 | 国产国产精品| 国产精品影片在线观看| 尤物在线视频| 欧美丰满美乳xxx高潮www| 战狼4完整免费观看在线播放版| 日本系列欧美系列| 亚洲国产一区二区精品视频| 欧美v亚洲v综合v国产v仙踪林| 伊人青青综合网站| 中文字幕久久久久| 国产精品久久久久久久久动漫 | 久久久久久免费毛片精品| 噜噜噜久久亚洲精品国产品麻豆| 秋霞影视一区二区三区| 欧洲成人在线视频| 国产午夜在线观看| 欧美日韩在线直播| 一区二区三区四区五区| 国产99精品国产| 美女日批免费视频| 中国av一区| 国产精品美女网站| 99福利在线| 亚洲第一精品夜夜躁人人躁| 800av免费在线观看| 国产亚洲精品中文字幕| 亚洲天堂网2018| 欧美亚洲不卡| 免费h精品视频在线播放| 在线成人视屏 | 亚洲欧美在线第一页| 羞羞色院91蜜桃| 亚洲欧美视频在线观看视频| 亚洲欧洲国产视频| 久久av一区| 一区二区三区日韩视频| 国产精品qvod| 国产精品久久久久久久电影| 黄色网址在线免费观看| 亚洲精品成人久久电影| 亚洲一区二区激情| 五月天欧美精品| 国产第一页精品| a亚洲天堂av| 91制片厂毛片| 亚洲激情另类| 一区二区三区欧美在线| aaa国产精品视频| 国产大片精品免费永久看nba| 超碰porn在线| 国产亚洲a∨片在线观看| 99精品在线看| 欧美伊人久久久久久午夜久久久久| www青青草原| 国产午夜亚洲精品午夜鲁丝片| 国产毛片久久久久久| 久久久久中文| 国产乱子伦精品无码专区| 国产精品手机在线播放| 成人动漫在线观看视频| 日本一区二区电影| 97视频在线观看免费| av网站免费在线观看| 亚洲欧洲中文天堂| 亚洲精品久久久狠狠狠爱 | 欧美丝袜丝交足nylons172| 产国精品偷在线| 日韩一级特黄| 国产成人一区二区三区小说| 国产探花在线观看| 色悠悠久久久久| 国产综合在线观看| 亚洲国产精品久久久久| 国产精品亚洲lv粉色| 91久久国产最好的精华液| 日韩精品乱码久久久久久| 亚洲欧美日韩精品久久久久| 精品无码人妻一区二区免费蜜桃| av电影在线观看不卡| 99999精品| 国内一区二区在线| 日韩av.com| 蜜乳av一区二区| 国产wwwxx| 日韩福利视频网| 免费av网址在线| 久久天堂成人| 国产熟女高潮视频| 亚洲综合好骚| 俄罗斯av网站| av成人天堂| 97成人在线免费视频| 国精品一区二区| 精品人妻人人做人人爽| 欧美日韩精品| 久久这里只有精品8| 欧美成人综合| 激情五月婷婷六月| 欧美日本一区二区高清播放视频| 黄瓜视频免费观看在线观看www| 日本久久综合| 在线看无码的免费网站| 亚洲精品va| 日韩免费在线观看av| 狠狠久久婷婷| 91视频 -- 69xx| 久久激情综合| 狠狠热免费视频| 日韩高清不卡在线| 五月激情五月婷婷| 寂寞少妇一区二区三区| 992tv人人草| 成人一区二区三区| 久久中文字幕人妻| 国产午夜精品一区二区三区嫩草| 韩国女同性做爰三级| 国产精品人成在线观看免费| 男人晚上看的视频| 一区二区激情小说| 免费在线观看黄网站| 欧美性感美女h网站在线观看免费| 日本免费精品视频| 欧美日韩激情一区二区三区| 国产精品欧美激情在线| 日韩欧美在线综合网| 神马午夜精品95| 亚洲天堂成人在线视频| 日本免费中文字幕在线| 欧美成人免费小视频| 黄毛片在线观看| 国产经典一区二区| 亚洲成人高清| 国产美女99p| 精品美女视频| 菠萝蜜视频在线观看入口| 国产欧美亚洲一区| 久久国产这里只有精品| 国产成a人无v码亚洲福利| 精品人妻一区二区三区香蕉| 国产日韩欧美制服另类| 久久免费看少妇高潮v片特黄| 午夜免费久久看| 国产一区二区三区在线观看| 欧美精品一区二区三区一线天视频 | 加勒比婷婷色综合久久| 欧美色道久久88综合亚洲精品| 糖心vlog精品一区二区| 亚洲国产精品va在线观看黑人| lutube成人福利在线观看| 欧美精品videosex极品1| 欧美粗大gay| 成人在线视频网址| 久久国产成人精品| 波多野结衣50连登视频| 麻豆成人久久精品二区三区红| 在线xxxxx| 国产精品久久久久久亚洲伦 | 国产精品日本| 手机在线观看日韩av| 国产亚洲欧美激情| 国产无套粉嫩白浆内谢| 欧美精品一二三区| 男男激情在线| 久久久久久久网站| 在线日韩三级| 日本在线观看不卡| 亚洲片区在线| 日本成人xxx| 国产精品另类一区| 成年人视频免费| 亚洲激情免费观看| 少女频道在线观看高清| 国产一区视频在线播放| 嫩草影视亚洲| 777av视频| 国产91精品久久久久久久网曝门| 国产精品1区2区3区4区| 欧美午夜视频在线观看| 天堂中文在线观看视频| 精品中文字幕乱| 国产精品2区| 亚洲天堂电影网| 日韩精品高清不卡| 韩国无码一区二区三区精品| 亚洲已满18点击进入久久| 99国产精品一区二区三区| 色一区av在线| 日韩成人综合网| 日韩在线第一区| 日产国产欧美视频一区精品| 在线免费观看成年人视频| 精品久久久久久久久久国产| 熟妇人妻av无码一区二区三区| 欧美国产中文字幕| 亚洲经典视频| 国产一区二区三区乱码| 高清在线不卡av| 精品少妇一二三区| 亚洲第一在线视频| 白浆视频在线观看| 九色91在线视频| 一区二区三区福利| 国产亚洲无码精品| 色婷婷综合久久久| 国产视频福利在线| 国产精品美女www爽爽爽视频| 日韩精品网站| 色男人天堂av| 亚洲国产乱码最新视频| 日本毛片在线观看| 欧洲成人在线观看| 第一sis亚洲原创| 在线观看国产福利| 亚洲精品乱码久久久久久久久 | www.亚洲色图| 日韩特级黄色片| 国产一区二区三区18| 国产一区二区色噜噜| 免费观看国产视频在线| 成人黄色综合网站| 五月婷婷六月婷婷| 精品国产一区久久久| 亚洲精品aⅴ| 国产av无码专区亚洲精品| 欧美国产日韩一二三区| 国产精品久久久久毛片| 欧美日韩xxxxx| 色先锋久久影院av| 999精彩视频| 亚洲香肠在线观看| 精品三级久久久久久久电影聊斋| 国产精品美女主播在线观看纯欲| 性欧美69xoxoxoxo| 久草视频福利在线| 91精品福利视频| 99久久精品免费观看国产| 老牛影视免费一区二区| 久久99在线观看| 国产成人无码精品亚洲| 日韩在线小视频| 国产精品美女在线观看直播| 九色91popny| 洋洋av久久久久久久一区| 国产视频在线看| 岛国视频一区| 男女视频一区二区| 日本熟妇毛茸茸丰满| 日韩在线资源网| 亚洲尤物av| 免费黄色av网址| 欧美性大战久久| 99色在线观看| 中文精品一区二区三区 | 久久免费一区| 国产精品一区二区黑丝| 成人一级免费视频| 久久久亚洲天堂| 亚洲综合五月|