精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

伊人成人免费视频| 亚洲精品成人三区| 国产女同在线观看| 女人av一区| 欧美日韩免费一区二区三区视频| 免费看啪啪网站| 亚洲乱码国产乱码精品精软件| 国产日韩欧美三级| 中文字幕欧美日韩在线| 在线观看免费视频黄| 色豆豆成人网| 亚洲一区在线观看网站| 欧美日韩日本网| 国产日产亚洲系列最新| 性久久久久久| 久久97久久97精品免视看 | 黄色软件视频在线观看| 久久精品人人爽人人爽| 亚洲xxxx做受欧美| 黄色一级视频免费看| 国产精品久久| 中文字幕在线看视频国产欧美| 日韩成人av一区二区| 亚洲三级在线| 色欧美片视频在线观看在线视频| 免费在线精品视频| 高h视频在线| 97精品久久久久中文字幕 | 久久先锋资源网| 亚洲自拍偷拍在线| 中文字幕乱码视频| 亚洲综合二区| 欧美激情免费观看| 搜索黄色一级片| 成人精品电影| 亚洲女同性videos| 欧美xxxx×黑人性爽| 精品国产亚洲一区二区三区大结局| 福利视频第一区| 日韩极品视频在线观看 | 国产精品久久久久久久裸模| 精品国产一二| 成人毛片视频免费看| 国产乱人伦精品一区二区在线观看| 国产女人18毛片水18精品| 欧美一区免费看| 亚洲主播在线| 庆余年2免费日韩剧观看大牛| 日韩欧美三级在线观看| 亚洲国产日本| 8090成年在线看片午夜| 国产污片在线观看| 激情婷婷亚洲| 午夜精品久久久久久久99热浪潮 | 色一情一乱一乱一91av| 草草久久久无码国产专区| av不卡高清| 午夜日韩在线电影| 青草网在线观看| 在线观看免费黄视频| 中文字幕不卡在线播放| 亚洲日本精品一区| 免费在线观看av网站| 国产精品久久看| 制服丝袜综合日韩欧美| 国产乱色在线观看| 亚洲最大的成人av| 欧美中文字幕在线观看视频| 国产深夜视频在线观看| 亚洲午夜电影在线| 好吊妞无缓冲视频观看| 婷婷午夜社区一区| 欧美在线制服丝袜| 一级做a免费视频| 国产一区二区高清在线| 欧美成人国产一区二区| 亚洲国产第一区| 精品久久国产| 免费91在线视频| 日产精品久久久久久久| 久久狠狠婷婷| 91九色国产视频| 精品国产免费无码久久久| 成人性生交大片免费看中文 | 香蕉视频黄色片| 国产清纯在线一区二区www| 亚洲精品在线视频观看| 在线āv视频| 一道本成人在线| 五月天激情播播| 福利电影一区| 中文字幕欧美日韩| 久久国产一级片| 亚欧美中日韩视频| 成人激情视频免费在线| 天堂成人在线观看| 一区在线中文字幕| 色综合久久久久无码专区| 国产福利亚洲| 亚洲第一视频网站| 肉色超薄丝袜脚交69xx图片| 99在线观看免费视频精品观看| 国产精品一区二区久久久| 黄色一级大片在线免费看国产一| 欧美国产一区二区| 欧美激情 国产精品| 亚州精品国产| 国产丝袜一区二区三区| 老湿机69福利| 视频一区在线播放| 国产传媒一区| 黄网址在线观看| 欧美性猛交99久久久久99按摩| 91丨九色丨蝌蚪| 国产中文精品久高清在线不| 九九九久久久久久| 影音先锋国产在线| 91美女视频网站| 免费cad大片在线观看| 嫩草伊人久久精品少妇av杨幂| 亚洲国产成人精品一区二区| 欧洲美女女同性互添| 日韩精品亚洲一区二区三区免费| 国产不卡一区二区在线观看 | 国产免费叼嘿网站免费| 久久这里只有精品6| bt天堂新版中文在线地址| 图片一区二区| 在线看日韩欧美| 精品人妻一区二区色欲产成人| 国产suv精品一区二区6| 免费成人深夜夜行网站视频| 韩日精品一区| 亚洲人成五月天| 日韩一区二区视频在线| 成人aa视频在线观看| 2022中文字幕| 亚洲日本va| 欧美黄色片在线观看| 精品黑人一区二区三区国语馆| 日韩毛片视频在线看| 色婷婷一区二区三区av免费看| 精品av一区二区| 国产精品国模在线| 免费福利在线视频| 狠狠做深爱婷婷久久综合一区 | 成人午夜精品久久久久久久蜜臀| 国产一区二区三区国产精品| 久久久国产精品x99av| 中文字幕理论片| 国产精品久久久久四虎| 久久久久久综合网| 91麻豆国产自产在线观看亚洲| 国产精品揄拍一区二区| 日本暖暖在线视频| 欧美日韩电影一区| 午夜爱爱毛片xxxx视频免费看| 精品亚洲国内自在自线福利| 自拍亚洲欧美老师丝袜| 国产精品美女久久久久人| 久久影院模特热| 性生活视频软件| 午夜国产精品影院在线观看| 久久丫精品国产亚洲av不卡| 久久精品官网| 亚洲啪啪av| 99久久999| 欧美精品video| 五月天激情开心网| 一本大道久久a久久综合婷婷| 日本美女xxx| 国产综合久久久久久鬼色| 欧美人与动牲交xxxxbbbb| 成人av资源网址| 午夜精品久久久久久久男人的天堂| 婷婷国产在线| 欧美色中文字幕| 中文字幕在线有码| 99久久夜色精品国产网站| 人人干人人视频| 亚洲免费二区| 精品免费日产一区一区三区免费| 日韩成人影音| 蜜臀久久99精品久久久无需会员| 国产 日韩 欧美 精品| 色婷婷久久久久swag精品| 91久久久久久久久久久久久久 | 中文字幕在线免费看线人| 日韩一区欧美二区| 精品一区二区三区毛片| 亚洲第一福利专区| 成人精品久久一区二区三区| 黄色在线免费观看网站| 中文字幕在线日韩| 亚洲国产精品无码久久| 91久久国产最好的精华液| 成年人av电影| 国产亚洲一区二区三区四区| 18深夜在线观看免费视频| 久久一日本道色综合久久| 日日噜噜夜夜狠狠久久丁香五月| 色愁久久久久久| 成人疯狂猛交xxx| 92国产精品| 九九热99久久久国产盗摄| 国产在线小视频| 亚洲成年人影院在线| 中文字幕乱码人妻无码久久| 亚洲成国产人片在线观看| 黄色片网站在线播放| 91免费观看国产| 特黄特色免费视频| 免费视频最近日韩| 国产特级黄色大片| 欧美另类综合| 亚洲视频在线二区| 亚洲宅男网av| 国产有色视频色综合| 成人豆花视频| 国产精品旅馆在线| 黑人巨大亚洲一区二区久| 色综合久久中文字幕综合网小说| lutube成人福利在线观看| 日韩成人xxxx| 色网站免费观看| 日韩欧美卡一卡二| 国产又粗又黄视频| 欧美色欧美亚洲另类二区| 探花视频在线观看| 激情亚洲一区二区三区四区 | 中文字幕影片免费在线观看| 国产精品自拍一区| 中文字幕成人免费视频| 奇米影视7777精品一区二区| 日韩精品一区二区三区色欲av| 亚洲国产专区| 国产日韩欧美精品在线观看| 欧美一区二区三区久久精品茉莉花| 亚洲午夜精品一区二区| 精品国产中文字幕第一页| 欧美一区二区三区在线播放| 亚洲人亚洲人色久| 蜜桃传媒一区二区| 欧美日韩看看2015永久免费| 国外成人免费视频| 久久porn| 免费久久99精品国产自| 青青草原在线亚洲| 国产一区二区自拍| 日本欧美高清| 久久久久免费网| 亚洲欧洲美洲国产香蕉| 欧美亚洲精品日韩| 欧美日韩一区二区综合| 亚洲欧美日韩精品在线| 日韩毛片视频| 一区中文字幕在线观看| 影音先锋成人在线电影| 精品一区二区三区毛片| 激情综合网址| 欧美日韩在线不卡视频| 日本sm残虐另类| 17c国产在线| 国产成人免费在线视频| 少妇被狂c下部羞羞漫画| av网站免费线看精品| 色欲av无码一区二区三区| 欧美国产综合一区二区| 最新一区二区三区| 亚洲电影一级黄| 日本中文字幕第一页| 欧美色图在线观看| 国产成人精品av在线观| 亚洲第一福利网| 国产小视频免费在线网址| 精品国内亚洲在观看18黄| 伊人影院蕉久影院在线播放| 7m精品福利视频导航| 国产综合色激情| av一区二区三区在线观看| 亚洲盗摄视频| 日韩国产精品毛片| 中日韩视频在线观看| 特级丰满少妇一级| 国产福利精品导航| 中文字幕av网址| 亚洲天堂免费在线观看视频| 日韩免费视频网站| 欧美日韩亚洲综合| 亚洲国产精品一| 一区二区福利视频| 欧美人与牲禽动交com| 欧美怡红院视频一区二区三区 | 岛国视频一区免费观看| 亚洲第一福利社区| 国内外成人激情免费视频| 国产精品入口66mio| 精品久久久99| 2020国产精品自拍| 欧美三级日本三级| 欧美在线免费播放| 黄色成人一级片| 久久视频免费在线播放| 日本久久免费| 99re在线视频观看| 日韩中文在线电影| 北条麻妃69av| 国产福利一区二区三区| 在线观看免费黄色网址| 婷婷久久综合九色国产成人| 国产精品无码久久久久成人app| 亚洲剧情一区二区| 国内小视频在线看| 91久久精品一区| 国产中文字幕一区二区三区| 久久精品国产sm调教网站演员| 麻豆精品一区二区综合av| 国产高清自拍视频| 亚洲国产中文字幕在线视频综合 | 欧美国产在线看| 欧美视频在线观看一区| 天天摸天天碰天天爽天天弄| 久久综合色影院| 日本精品久久| 日本在线播放不卡| 国产女优一区| 日本三级日本三级日本三级极| 亚洲精品伦理在线| 91黄色在线视频| 色妞久久福利网| 在线成人视屏| 日本不卡一二三区| 久久天堂成人| 三上悠亚ssⅰn939无码播放| 天天综合色天天| 深爱五月激情五月| 性色av一区二区咪爱| 国产丝袜一区| 欧美综合在线播放| proumb性欧美在线观看| 久久精品无码人妻| 精品日韩一区二区| 欧美aaaxxxx做受视频| 99久久久久国产精品免费| 亚洲va在线| 国产大学生av| 亚洲国产精品久久久久秋霞影院 | 日韩精品一区三区| 精品国精品自拍自在线| 2020日本在线视频中文字幕| 国产精品美女黄网| 99精品免费| 欧美老熟妇乱大交xxxxx| 91成人看片片| www.亚洲.com| 国产在线久久久| 五月开心六月丁香综合色啪 | 国产在线视频综合| 国产成人av自拍| 日韩成人在线免费视频| 亚洲国产精品久久久久秋霞不卡 | 黄色性视频网站| 婷婷成人激情在线网| 青青草在线视频免费观看| 国产91色在线免费| 日韩精品中文字幕第1页| 色18美女社区| 亚洲尤物视频在线| 天堂v视频永久在线播放| 国产精品爱久久久久久久| 91欧美日韩| 在线中文字日产幕| 欧美性xxxxxxx| 777电影在线观看| 91亚洲精品丁香在线观看| 日韩视频三区| 山东少妇露脸刺激对白在线| 欧美一级一区二区| 大菠萝精品导航| 色综合久久久久久久久五月| 国内精品免费**视频| 97久久久久久久| 日韩色av导航| 日韩a级大片| jizz欧美性11| 五月天精品一区二区三区| 国产裸舞福利在线视频合集| 亚洲va久久久噜噜噜| 一本一本久久| 午夜精品久久久久99蜜桃最新版| 亚洲福利视频在线| 国产成人77亚洲精品www| 欧美视频免费看欧美视频| 欧美国产成人在线| 亚洲高清在线观看视频| 国产精品69精品一区二区三区| 欧美激情1区| 日韩av片在线| 亚洲国产成人精品久久久国产成人一区| 草民电影神马电影一区二区|