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

Python實現(xiàn)將一個帶鍵值特征的JSON數組轉換為JSON對象

 更新時間:2025年11月06日 09:33:58   作者:Humbunklung  
這篇文章主要為大家詳細介紹了Python實現(xiàn)將一個帶鍵值特征的JSON數組轉換為JSON對象,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下

核心實現(xiàn)方法

方法 1:循環(huán)遍歷構建字典(基礎高效)

import json

# 原始 JSON 數組(示例)
json_array = [
    {"key": "name", "value": "Alice"},
    {"key": "age", "value": 25},
    {"key": "city", "value": "Beijing"}
]

# 轉換為字典對象
result_dict = {}
for item in json_array:
    result_dict[item["key"]] = item["value"]

# 轉為 JSON 字符串(可選)
json_output = json.dumps(result_dict, indent=4, ensure_ascii=False)
print(json_output)

輸出

{
    "name": "Alice",
    "age": 25,
    "city": "Beijing"
}

特點

  • 邏輯清晰,直接遍歷數組,逐項提取 keyvalue
  • 適合初學者或需要顯式控制流程的場景

方法 2:字典推導式(簡潔優(yōu)雅)

result_dict = {item["key"]: item["value"] for item in json_array}
json_output = json.dumps(result_dict, indent=4)

特點

  • 代碼更簡潔,單行完成轉換
  • 適用于 Python 3.6+ 環(huán)境

方法 3:使用reduce函數(函數式編程)

from functools import reduce
result_dict = reduce(
    lambda obj, item: {**obj, item["key"]: item["value"]},
    json_array,
    {}
)

特點

  • 函數式編程風格,適合復雜數據流處理
  • 可結合其他高階函數(如 filter)進行數據預處理

關鍵注意事項

1.鍵名重復問題

若數組中存在重復的 key,后出現(xiàn)的值會覆蓋先前的值。需提前檢查:

keys = [item["key"] for item in json_array]
if len(keys) != len(set(keys)):
    print("存在重復鍵名!")

2.特殊數據類型處理

value 可能是嵌套對象或數組,轉換時會保留原始結構

若需自定義序列化(如處理日期),使用 default 參數:

json.dumps(result_dict, default=lambda x: x.isoformat() if hasattr(x, 'isoformat') else str(x))

3.輸出格式化優(yōu)化

  • indent=4:美化輸出,帶縮進
  • ensure_ascii=False:支持中文等非 ASCII 字符
  • sort_keys=True:按鍵名字母排序輸出

完整流程示例

import json

# 輸入數據
json_array = [
    {"key": "product", "value": "筆記本電腦"},
    {"key": "price", "value": 5999},
    {"key": "in_stock", "value": True},
    {"key": "specs", "value": {"CPU": "i7", "RAM": "16GB"}}
]

# 轉換為字典
result_dict = {item["key"]: item["value"] for item in json_array}

# 輸出為格式化的 JSON 字符串
json_output = json.dumps(
    result_dict,
    indent=4,
    ensure_ascii=False,
    sort_keys=True
)
print(json_output)

輸出

{
    "in_stock": true,
    "price": 5999,
    "product": "筆記本電腦",
    "specs": {
        "CPU": "i7",
        "RAM": "16GB"
    }
}

應用場景與擴展

API 數據處理:將從服務端獲取的數組結構響應轉為易操作的字典

配置文件生成:將程序中的配置列表轉為 JSON 配置文件

結合 Pandas:若數據源是 DataFrame,可直接導出為 JSON:

import pandas as pd
df = pd.DataFrame(json_array)
df.set_index("key")["value"].to_dict()  # 直接轉為字典

總結

方法適用場景優(yōu)勢
循環(huán)遍歷兼容舊版 Python,邏輯清晰易于調試,顯式控制流程
字典推導式Python 3.6+,代碼簡潔化高效單行實現(xiàn)
reduce 函數函數式編程場景,復雜數據處理支持鏈式操作和預處理

選擇方法時:

  • 優(yōu)先推薦 字典推導式(簡潔高效);
  • 若需兼容性或特殊處理,用 循環(huán)遍歷;
  • 高級場景可嘗試 reduce 函數 或結合 json.dumps 的參數定制輸出格式。

到此這篇關于Python實現(xiàn)將一個帶鍵值特征的JSON數組轉換為JSON對象的文章就介紹到這了,更多相關Python JSON數組轉JSON對象內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 一文教會你pandas?plot各種繪圖

    一文教會你pandas?plot各種繪圖

    這篇文章主要給大家介紹了關于pandas?plot各種繪圖的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • python中l(wèi)ist.sort()方法的具體使用

    python中l(wèi)ist.sort()方法的具體使用

    本文詳細介紹了Python中l(wèi)ist的sort方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • python的數據與matlab互通問題:SciPy

    python的數據與matlab互通問題:SciPy

    這篇文章主要介紹了python的數據與matlab互通問題SciPy,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python?ast模塊詳析與用法

    python?ast模塊詳析與用法

    這篇文章主要給大家介紹了關于python?ast模塊詳析與用法的相關資料, Python的ast(Abstract Syntax Trees,抽象語法樹)模塊是一個內置模塊,用于解析Python代碼并生成語法樹,需要的朋友可以參考下
    2023-07-07
  • 詳解python變量與數據類型

    詳解python變量與數據類型

    這篇文章主要介紹了python變量與數據類型的相關資料,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • Python使用requests xpath 并開啟多線程爬取西刺代理ip實例

    Python使用requests xpath 并開啟多線程爬取西刺代理ip實例

    這篇文章主要介紹了Python使用requests xpath 并開啟多線程爬取西刺代理ip實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • python 內置函數匯總詳解

    python 內置函數匯總詳解

    這篇文章主要介紹了python 內置函數匯總詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • 使用Python封裝excel操作指南

    使用Python封裝excel操作指南

    這篇文章主要給大家介紹了關于使用Python封裝excel操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python抽象基類的定義與使用方法

    Python抽象基類的定義與使用方法

    這篇文章主要介紹了Python抽象基類的定義與使用方法,Python的抽象基類是指必須讓繼承它的子類去實現(xiàn)它所要求的抽象方法的類,下面文章內容將詳細介紹相關資料,需要的朋友可以參考一下
    2021-10-10
  • 使用Python的Supervisor進行進程監(jiān)控以及自動啟動

    使用Python的Supervisor進行進程監(jiān)控以及自動啟動

    這篇文章主要介紹了使用Python的Supervisor進行進程監(jiān)控以及自動啟動,使用python supervisor實現(xiàn),需要的朋友可以參考下
    2014-05-05

最新評論

邳州市| 白朗县| 新绛县| 麦盖提县| 昌邑市| 龙海市| 郴州市| 广河县| 和平区| 额尔古纳市| 乐业县| 金川县| 电白县| 民县| 胶州市| 永春县| 南阳市| 嘉善县| 奈曼旗| 怀柔区| 定日县| 湖北省| 西盟| 石棉县| 宁安市| 龙胜| 惠水县| 周宁县| 阿克| 许昌县| 河间市| 龙里县| 池州市| 和硕县| 龙口市| 措勤县| 论坛| 阳春市| 长岭县| 湘潭市| 定州市|