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

Python中數(shù)據(jù)類轉換為JSON的方法詳解

 更新時間:2023年09月19日 08:28:16   作者:Python探索牛  
這篇文章主要介紹了Python中數(shù)據(jù)類轉換為JSON的方法詳解的相關資料,需要的朋友可以參考下

dataclass 到 Python 中的 JSON

JavaScript Object Notation或JSON表示使用編程語言中的文本組成的腳本(可執(zhí)行)文件來存儲和傳輸數(shù)據(jù)。

Python通過JSON內置模塊支持JSON。因此,我們在Python腳本中導入JSON包,以利用這一能力。

JSON中使用的引號字符串包含了鍵值映射中的值。它與Python的字典相類似。

Python原生支持JSON特性,JSON顯示的API類似于標準庫中marshal和pickle模塊的用戶。

另一方面,dataclass ,創(chuàng)建數(shù)據(jù)傳輸對象,用于在其中存儲數(shù)據(jù);這些對象需要適當?shù)亩x方法進行等價比較,有時也用于顯示。

dataclass 是用來為數(shù)據(jù)傳輸類創(chuàng)建方法和簡短的語法的。

實現(xiàn)dataclass ,作為一個字典

Python 3.7及以后的版本是唯一支持dataclass 裝飾器的版本。它產生一個對象,通常被稱為數(shù)據(jù)傳輸對象,其唯一功能是存儲數(shù)據(jù)。

問題是,為這些對象提供正確的功能,就必須創(chuàng)建平等比較、顯示等方法。

這些方法的開發(fā)必須耗費大量的人力物力,而且容易出現(xiàn)錯誤。一個dataclass ,為你產生所有這些方法,給數(shù)據(jù)傳輸類一個簡短的語法。

它在序列化方面使用了一個稍有改變的(在某種程度上更有效)的dataclasses.asdict 。

你正在迭代dataclass 字段,當?shù)谝淮螌SON反序列化到dataclass 實例時,為每個注釋的類型創(chuàng)建一個解析器,使這個過程在重復時更加有效。

為每個JSONroot 節(jié)點創(chuàng)建一個dataclass

由于"users" 字段是一個有"id" 和"name" 的對象數(shù)組,我們可以看到我們需要構建兩個類:"Test" 和"User" 。

示例代碼:

from dataclasses import dataclass
from typing import List
@dataclass
class User:
    id: 1
    name: "Kelvin"
@dataclass
class Test:
    id: 2
    userid:" Jack"
users: List[User]

每個JSON屬性都應該被映射到一個類型安全的Python屬性。

下面的代碼將每個JSON節(jié)點和屬性映射到Python類和屬性中。要做到這一點,我們在Python類中創(chuàng)建一個static 方法,負責將我們的字典映射到你的Python屬性。

示例代碼:

from typing import List
from dataclasses import dataclass, asdict, field
from json import dumps
@dataclass
#Python小白學習交流群:153708845
class Students:
    id: 1
    name: "stu1"
    @property
    def __dict__(self):
        return asdict(self)
    @property
    def json(self):
        return dumps(self.__dict__)
test_object_1 = Students(id=1, name="Kelvin")
print(test_object_1.json)

輸出:

{"id": 1, "name": "Kelvin"}

請記住,數(shù)據(jù)傳輸對象是由dataclasses ,用于在其中存儲數(shù)據(jù)。因此,這些對象需要正確的方法定義,以便進行平等的比較,偶爾也需要進行顯示。

數(shù)據(jù)傳輸類的方法和語法是用dataclass 。

到此這篇關于Python中數(shù)據(jù)類轉換為JSON的方法詳解的文章就介紹到這了,更多相關Python中數(shù)據(jù)類轉換為JSON內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 簡單介紹Python中的try和finally和with方法

    簡單介紹Python中的try和finally和with方法

    這篇文章主要介紹了Python中的try和finally和with方法,是Python學習當中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • python之PyInstaller(將Python腳本打包為可執(zhí)行文件方式)

    python之PyInstaller(將Python腳本打包為可執(zhí)行文件方式)

    PyInstaller將Python腳本打包為跨平臺可執(zhí)行文件,自動處理依賴庫,支持單文件/目錄模式,便于分發(fā),適用于GUI、數(shù)據(jù)文件處理及多平臺部署,優(yōu)化體積與權限問題
    2025-09-09
  • Python 裝飾器原理、定義與用法詳解

    Python 裝飾器原理、定義與用法詳解

    這篇文章主要介紹了Python 裝飾器原理、定義與用法,結合實例形式分析了Python裝飾器的概念、定義、實現(xiàn)方法、應用場景及相關操作注意事項,需要的朋友可以參考下
    2019-12-12
  • pycharm遠程連接docker容器的操作流程

    pycharm遠程連接docker容器的操作流程

    這篇文章主要給大家介紹了pycharm遠程連接docker容器的操作流程,文中通過代碼示例和圖文講解介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下
    2023-08-08
  • python讀取文件指定行內容實例講解

    python讀取文件指定行內容實例講解

    在本篇文章里小編給大家整理的是關于python讀取文件指定行內容實例講解,需要的朋友們可以參考下。
    2020-03-03
  • python網絡爬蟲精解之pyquery的使用說明

    python網絡爬蟲精解之pyquery的使用說明

    PyQuery是一個類似于jQuery的解析網頁工具,使用lxml操作xml和html文檔,它的語法和jQuery很像。和XPATH,Beautiful Soup比起來,PyQuery更加靈活,提供增加節(jié)點的class信息,移除某個節(jié)點,提取文本信息等功能
    2021-09-09
  • react+django清除瀏覽器緩存的幾種方法小結

    react+django清除瀏覽器緩存的幾種方法小結

    今天小編就為大家分享一篇react+django清除瀏覽器緩存的幾種方法小結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 利用django-suit模板添加自定義的菜單、頁面及設置訪問權限

    利用django-suit模板添加自定義的菜單、頁面及設置訪問權限

    這篇文章主要給大家介紹了關于利用django-suit模板添加自定義的菜單、頁面及設置訪問權限的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起看看吧
    2018-07-07
  • 基于python編寫的微博應用

    基于python編寫的微博應用

    這篇文章主要介紹了基于python編寫的微博應用,是針對微博開放平臺SDK開發(fā)的具體應用,非常具有實用價值,需要的朋友可以參考下
    2014-10-10
  • Python中pygame游戲模塊的用法詳解

    Python中pygame游戲模塊的用法詳解

    Pygame是一組用來開發(fā)游戲軟件的 Python 程序模塊,Pygame 在 SDL(Simple DirectMedia Layer) 的基礎上開發(fā)而成,它提供了諸多操作模塊,本文給大家介紹了Python中pygame游戲模塊的用法,需要的朋友可以參考下
    2024-01-01

最新評論

延吉市| 英超| 菏泽市| 巩义市| 孙吴县| 湄潭县| 凤冈县| 乌兰浩特市| 东乡| 潞西市| 昂仁县| 平泉县| 沅陵县| 合阳县| 塘沽区| 扬中市| 沙坪坝区| 海盐县| 乐山市| 莲花县| 红原县| 碌曲县| 潼关县| 古蔺县| 宜良县| 东丽区| 桃园县| 台东市| 苏尼特右旗| 泰和县| 务川| 乐安县| 盐亭县| 都兰县| 辽宁省| 临猗县| 宣恩县| 沐川县| 多伦县| 山西省| 昌平区|