JSON對象的對照關系表。PythonJSONdictobjectlist,tuplearraystr,unicodestring" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python3內置模塊之json編解碼方法小結

系統 1694 0

概述

Python3中我們利用內置模塊 json 解碼和編碼 JSON對象 ,JSON(JavaScript Object Notation)是指定 RFC 7159(廢棄了RFC 4627)和 ECMA-404是一種輕量級數據交換格式,受 JavaScript對象文字語法的啟發 (雖然它不是JavaScript 1的嚴格子集)。下面為Python對象–>JSON對象的對照關系表。

Python JSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null

dumps編碼

我們利用 dumps 將Python對象編碼為 JSON對象 ,當然 dumps 只完成了序列化為str,而 dump 必須傳文件描述符,將序列化的str保存到文件中,它們的函數定義為
dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)
dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

編碼字典

            
              
                import
              
               json 
D 
              
                =
              
              
                {
              
              
                'one'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'two'
              
              
                :
              
              
                2
              
              
                ,
              
              
                'three'
              
              
                :
              
              
                3
              
              
                }
              
              
J 
              
                =
              
               json
              
                .
              
              dumps
              
                (
              
              D
              
                )
              
              
                print
              
              
                (
              
              J
              
                )
              
            
          

示例結果:

            
              {"one": 1, "two": 2, "three": 3}

            
          

編碼列表

            
              
                import
              
               json 
L 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                'Python '
              
              
                ,
              
              
                {
              
              
                'one'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'two'
              
              
                :
              
              
                2
              
              
                ,
              
              
                'three'
              
              
                :
              
              
                3
              
              
                }
              
              
                ,
              
              
                ''
              
              
                ]
              
              
J 
              
                =
              
               json
              
                .
              
              dumps
              
                (
              
              L
              
                )
              
              
                print
              
              
                (
              
              J
              
                )
              
            
          

示例結果:

            
              [1, "Python ", {"one": 1, "two": 2, "three": 3}, ""]

            
          

編碼

            
              
                import
              
               json 
S 
              
                =
              
              
                'Python'
              
              
J 
              
                =
              
               json
              
                .
              
              dumps
              
                (
              
              S
              
                )
              
              
                print
              
              
                (
              
              J
              
                )
              
            
          

示例結果:

            
              "Python"

            
          

格式化輸出JSON

            
              
                import
              
               json 
L 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                'Python '
              
              
                ,
              
              
                {
              
              
                'one'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'two'
              
              
                :
              
              
                2
              
              
                ,
              
              
                'three'
              
              
                :
              
              
                3
              
              
                }
              
              
                ,
              
              
                True
              
              
                ]
              
              
J 
              
                =
              
               json
              
                .
              
              dumps
              
                (
              
              L
              
                ,
              
               sort_keys
              
                =
              
              
                True
              
              
                ,
              
               indent
              
                =
              
              
                4
              
              
                )
              
              
                print
              
              
                (
              
              J
              
                )
              
            
          

示例結果:

            
              [
    1,
    "Python ",
    {
        "one": 1,
        "three": 3,
        "two": 2
    },
    true
]

            
          

loads解碼

我們利用 loads 用于解碼 JSON對象 。解碼結果即與之對應的 Python對象 類型。當然 loads 只完成了反序列化, load 只接收文件描述符,完成讀取文件和反序列化。它們的函數定義為
loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
比如我們用來解碼上個示例的數據

            
              
                import
              
               json 
jsondata 
              
                =
              
              
                '''
[
    1,
    "Python ",
    {
        "one": 1,
        "three": 3,
        "two": 2
    },
    true
]
'''
              
              
J 
              
                =
              
               json
              
                .
              
              loads
              
                (
              
              jsondata
              
                )
              
              
                print
              
              
                (
              
              
                type
              
              
                (
              
              J
              
                )
              
              
                )
              
              
                print
              
              
                (
              
              J
              
                )
              
            
          

示例結果:

            
              
                
[1, 'Python ', {'one': 1, 'three': 3, 'two': 2}, True]

              
            
          

可以看到我們成功對上個例子中的JSON對象進行了解碼,并且最終的解碼結果為Python列表對象類型,符合Python對象-JSON對象對照表的結果。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 万年县| 瑞安市| 沽源县| 山丹县| 庄浪县| 满城县| 宁陕县| 鄂尔多斯市| 金坛市| 南安市| 洛隆县| 天柱县| 伊吾县| 黎平县| 罗定市| 长垣县| 丹江口市| 大安市| 孝义市| 岳普湖县| 宁河县| 雅江县| 观塘区| 哈尔滨市| 永丰县| 棋牌| 伊通| 阳江市| 皋兰县| 太康县| 定日县| 大安市| 寿宁县| 筠连县| 长海县| 东海县| 石家庄市| 闻喜县| 筠连县| 天台县| 通渭县|