最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中實現(xiàn)JSON數(shù)據(jù)讀寫的編程實戰(zhàn)指南

 更新時間:2025年11月06日 09:37:57   作者:程序員愛釣魚  
JSON 全稱是 JavaScript Object Notation 即 JavaScript 對象表示法,是一種輕量級的數(shù)據(jù)交換格式,下面就帶大家深入理解 JSON 的概念以及在 Python 中的讀寫操作方法吧

在現(xiàn)代編程中 數(shù)據(jù)交換是不可或缺的一部分,無論是 Web 開發(fā)、接口通信、還是配置文件存儲 JSON 格式都是應(yīng)用最廣泛的數(shù)據(jù)格式之一,Python 對 JSON 的支持非常完善,通過內(nèi)置模塊 json 就能輕松實現(xiàn)數(shù)據(jù)的序列化與反序列化。

本文將帶你深入理解 JSON 的概念以及在 Python 中的讀寫操作方法

一 什么是 JSON

JSON 全稱是 JavaScript Object Notation,即 JavaScript 對象表示法,它是一種輕量級的數(shù)據(jù)交換格式,具有以下特點

  • 使用鍵值對存儲數(shù)據(jù) 類似于 Python 的字典
  • 結(jié)構(gòu)清晰 可嵌套
  • 支持多種基本數(shù)據(jù)類型
  • 語言無關(guān) 可跨平臺

一個典型的 JSON 示例

{
  "name": "Alice",
  "age": 25,
  "is_student": false,
  "skills": ["Python", "Java", "SQL"]
}

在 Python 中 這種結(jié)構(gòu)與字典類型非常相似 因此二者可以輕松互轉(zhuǎn)

二 JSON 與 Python 數(shù)據(jù)類型對應(yīng)關(guān)系

JSON 類型Python 類型
objectdict
arraylist
stringstr
numberint 或 float
trueTrue
falseFalse
nullNone

這種對應(yīng)關(guān)系讓 JSON 數(shù)據(jù)與 Python 數(shù)據(jù)結(jié)構(gòu)之間的轉(zhuǎn)換非常自然

三 Python JSON 模塊常用方法

Python 內(nèi)置的 json 模塊提供了四個核心方法

方法作用
json.dumps()將 Python 對象轉(zhuǎn)換為 JSON 字符串
json.loads()將 JSON 字符串解析為 Python 對象
json.dump()將 Python 對象寫入 JSON 文件
json.load()從 JSON 文件讀取并轉(zhuǎn)換為 Python 對象

四 Python 對象轉(zhuǎn) JSON 字符串

import json

data = {
    "name": "Alice",
    "age": 25,
    "skills": ["Python", "Data Analysis"]
}

json_str = json.dumps(data, ensure_ascii=False, indent=4)
print(json_str)

輸出結(jié)果

{
    "name": "Alice",
    "age": 25,
    "skills": [
        "Python",
        "Data Analysis"
    ]
}

參數(shù)說明

  • ensure_ascii=False:防止中文被轉(zhuǎn)義
  • indent=4:設(shè)置縮進格式 讓輸出更易讀

五 JSON 字符串轉(zhuǎn) Python 對象

import json

json_str = '{"name": "Alice", "age": 25, "skills": ["Python", "Data Analysis"]}'
data = json.loads(json_str)
print(data["name"])

輸出

Alice

六 寫入 JSON 文件

將數(shù)據(jù)保存到文件非常常見 例如保存配置或用戶信息

import json

user = {
    "id": 1001,
    "name": "Bob",
    "vip": True,
    "balance": 99.8
}

with open("user.json", "w", encoding="utf-8") as f:
    json.dump(user, f, ensure_ascii=False, indent=4)

print("JSON 文件寫入完成")

執(zhí)行后 你將在當(dāng)前目錄生成一個名為 user.json 的文件

七 從文件中讀取 JSON 數(shù)據(jù)

import json

with open("user.json", "r", encoding="utf-8") as f:
    user_info = json.load(f)

print(user_info)
print(type(user_info))

輸出

{'id': 1001, 'name': 'Bob', 'vip': True, 'balance': 99.8}
<class 'dict'>

說明從文件中讀取的 JSON 已成功轉(zhuǎn)換為 Python 字典對象

八 實戰(zhàn) 案例 讀取配置文件并修改

假設(shè)我們有一個配置文件 config.json

{
  "version": "1.0",
  "debug": true,
  "users": ["admin", "guest"]
}

我們想讀取其中內(nèi)容 并更新某些字段

import json

# 讀取配置
with open("config.json", "r", encoding="utf-8") as f:
    config = json.load(f)

# 修改參數(shù)
config["debug"] = False
config["users"].append("developer")

# 保存回文件
with open("config.json", "w", encoding="utf-8") as f:
    json.dump(config, f, ensure_ascii=False, indent=4)

print("配置文件已更新")

九 異常處理與健壯性

在處理 JSON 文件時 可能會遇到文件缺失或格式錯誤 可以使用 try...except 捕獲異常

import json

try:
    with open("data.json", "r", encoding="utf-8") as f:
        data = json.load(f)
except FileNotFoundError:
    print("文件未找到")
except json.JSONDecodeError:
    print("JSON 格式錯誤")
else:
    print("讀取成功")

十 小結(jié)

JSON 是 Python 與外部世界交互的橋梁 無論是 API 通信 還是數(shù)據(jù)存儲 JSON 都是最常見也最重要的數(shù)據(jù)格式之一

學(xué)習(xí)要點

  • 使用 json.dumps()json.loads() 實現(xiàn)內(nèi)存中數(shù)據(jù)的轉(zhuǎn)換
  • 使用 json.dump()json.load() 操作文件
  • 養(yǎng)成使用 with open() 的好習(xí)慣
  • 處理異常 提高代碼健壯性

掌握 JSON 數(shù)據(jù)讀寫后 你已經(jīng)具備處理各種接口數(shù)據(jù)與配置文件的能力 這將在實際項目中為你帶來巨大的便利

到此這篇關(guān)于Python中實現(xiàn)JSON數(shù)據(jù)讀寫的編程實戰(zhàn)指南的文章就介紹到這了,更多相關(guān)Python JSON數(shù)據(jù)讀寫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

兴隆县| 城市| 武夷山市| 高唐县| 黄平县| 延寿县| 崇阳县| 侯马市| 仙居县| 类乌齐县| 阜康市| 栖霞市| 新余市| 枣阳市| 龙胜| 察哈| 城步| 岐山县| 伊通| 健康| 广南县| 大邑县| 郓城县| 黄梅县| 专栏| 彰化市| 比如县| 永靖县| 平罗县| 准格尔旗| 灯塔市| 那坡县| 中西区| 资源县| 乌恰县| 册亨县| 柘荣县| 石台县| 抚松县| 云林县| 金湖县|