欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python3的Json模塊詳解

系統(tǒng) 1945 0
原文鏈接: https://blog.csdn.net/swinfans/article/details/86501555

簡(jiǎn)介

Json模塊主要用來(lái)進(jìn)行Python對(duì)象的序列化和反序列化。
該模塊中常用的方法有以下四個(gè):

  • json.dump
    將Python對(duì)象序列化為Json格式的數(shù)據(jù)流并寫入文件類型的對(duì)象中

  • json.dumps
    將Python對(duì)象序列化為Json格式的字符串

  • json.load
    從文件類型的對(duì)象中讀取Json格式的數(shù)據(jù)并反序列化成Python對(duì)象

  • json.loads
    將包含Json格式數(shù)據(jù)的字符串反序列化成Python對(duì)象

進(jìn)行序列化時(shí),Python類型與Json類型的轉(zhuǎn)換關(guān)系如下表所示:

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

進(jìn)行反序列化時(shí),Json類型與Python類型的轉(zhuǎn)換關(guān)系如下:

JSON Python
object dict
array list
string str
number(int) int
number(real) float
true True
false False
null None

常用方法詳解

由于 json.dump json.dumps 這兩個(gè)方法、的作用與使用方法類似,故只對(duì)其中之一詳細(xì)介紹。
同樣地, json.load json.loads 這兩個(gè)方法的作用與使用方法類似,故也只對(duì)其中之一詳細(xì)介紹。

json.dumps

該方法包含一個(gè)位置參數(shù)和多個(gè)僅限關(guān)鍵字參數(shù),分別如下所示:

  • obj
    要序列化的Python對(duì)象

  • skipkeys=False
    是否跳過(guò)要序列化的對(duì)象中字典元素的key不是基本類型的數(shù)據(jù);
    如果為True,則跳過(guò),如果為False,將拋出TypeError異常。

                    
                      
                        >>
                      
                      
                        >
                      
                       emp_info 
                      
                        =
                      
                      
                        {
                      
                      
                        'name'
                      
                      
                        :
                      
                      
                        'bob'
                      
                      
                        ,
                      
                       b
                      
                        'age'
                      
                      
                        :
                      
                      
                        24
                      
                      
                        }
                      
                      
                        # 包含key為bytes類型的元素
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_info
                      
                        )
                      
                      
                        # skipkeys參數(shù)為默認(rèn)值False
                      
                      
    Traceback 
                      
                        (
                      
                      most recent call last
                      
                        )
                      
                      
                        :
                      
                      
      File 
                      
                        "
                        
                          "
                        
                      
                      
                        ,
                      
                       line 
                      
                        1
                      
                      
                        ,
                      
                      
                        in
                      
                      
                        <
                      
                      module
                      
                        >
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py"
                      
                      
                        ,
                      
                       line 
                      
                        231
                      
                      
                        ,
                      
                      
                        in
                      
                       dumps
        
                      
                        return
                      
                       _default_encoder
                      
                        .
                      
                      encode
                      
                        (
                      
                      obj
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        199
                      
                      
                        ,
                      
                      
                        in
                      
                       encode
        chunks 
                      
                        =
                      
                       self
                      
                        .
                      
                      iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                       _one_shot
                      
                        =
                      
                      
                        True
                      
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        257
                      
                      
                        ,
                      
                      
                        in
                      
                       iterencode
        
                      
                        return
                      
                       _iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                      
                        0
                      
                      
                        )
                      
                      
    TypeError
                      
                        :
                      
                       keys must be 
                      
                        str
                      
                      
                        ,
                      
                      
                        int
                      
                      
                        ,
                      
                      
                        float
                      
                      
                        ,
                      
                      
                        bool
                      
                      
                        or
                      
                      
                        None
                      
                      
                        ,
                      
                      
                        not
                      
                      
                        bytes
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_info
                      
                        ,
                      
                       skipkeys
                      
                        =
                      
                      
                        True
                      
                      
                        )
                      
                      
                        # skipkeys參數(shù)設(shè)置為True時(shí)則可成功序列化
                      
                      
                        '{"name": "bob"}'
                      
                    
                  
  • ensure_ascii=True
    是否將要序列化的對(duì)象中的字符串中的非ascii字符進(jìn)行轉(zhuǎn)義。
    如果該參數(shù)為True,則將字符串中的非ascii字符轉(zhuǎn)義成unicode字符串,否則,將不會(huì)進(jìn)行轉(zhuǎn)義。

                    
                      
                        >>
                      
                      
                        >
                      
                       message 
                      
                        =
                      
                      
                        '我愛(ài)Python3'
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      message
                      
                        )
                      
                      
                        # ensure_ascii參數(shù)默認(rèn)值為True,將會(huì)把非ascii字符轉(zhuǎn)移成unicode字符串
                      
                      
                        '"\\u6211\\u7231Python3"'
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      message
                      
                        ,
                      
                       ensure_ascii
                      
                        =
                      
                      
                        False
                      
                      
                        )
                      
                      
                        # ensure_ascii參數(shù)設(shè)置為False時(shí),不會(huì)進(jìn)行轉(zhuǎn)義
                      
                      
                        '"我愛(ài)Python3"'
                      
                    
                  
  • check_circular=True
    是否進(jìn)行容器類型的循環(huán)引用檢查。
    如果該參數(shù)設(shè)置為False,則不進(jìn)行檢查,但是可能會(huì)引發(fā)OverflowError或更嚴(yán)重的情況。
    如果該參數(shù)設(shè)置為True,則將進(jìn)行容器類型的循環(huán)引用檢查,并在發(fā)現(xiàn)循環(huán)引用時(shí)拋出異常。

                    
                      emp_dict 
                      
                        =
                      
                      
                        {
                      
                      
                        'id'
                      
                      
                        :
                      
                      
                        1
                      
                      
                        ,
                      
                      
                        'dept'
                      
                      
                        :
                      
                      
                        'sales'
                      
                      
                        }
                      
                      
                        >>
                      
                      
                        >
                      
                       emp_dict
                      
                        [
                      
                      
                        'info'
                      
                      
                        ]
                      
                      
                        =
                      
                       emp_dict  
                      
                        # 字典中包含循環(huán)引用
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_dict
                      
                        )
                      
                      
                        # 默認(rèn)進(jìn)行循環(huán)引用的檢查,將引發(fā)ValueError異常
                      
                      
    Traceback 
                      
                        (
                      
                      most recent call last
                      
                        )
                      
                      
                        :
                      
                      
      File 
                      
                        "
                        
                          "
                        
                      
                      
                        ,
                      
                       line 
                      
                        1
                      
                      
                        ,
                      
                      
                        in
                      
                      
                        <
                      
                      module
                      
                        >
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py"
                      
                      
                        ,
                      
                       line 
                      
                        231
                      
                      
                        ,
                      
                      
                        in
                      
                       dumps
        
                      
                        return
                      
                       _default_encoder
                      
                        .
                      
                      encode
                      
                        (
                      
                      obj
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        199
                      
                      
                        ,
                      
                      
                        in
                      
                       encode
        chunks 
                      
                        =
                      
                       self
                      
                        .
                      
                      iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                       _one_shot
                      
                        =
                      
                      
                        True
                      
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        257
                      
                      
                        ,
                      
                      
                        in
                      
                       iterencode
        
                      
                        return
                      
                       _iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                      
                        0
                      
                      
                        )
                      
                      
    ValueError
                      
                        :
                      
                       Circular reference detected
    
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_dict
                      
                        ,
                      
                       check_circular
                      
                        =
                      
                      
                        False
                      
                      
                        )
                      
                      
                        # 設(shè)置為不進(jìn)行循環(huán)引用的檢查,但是在編碼Json對(duì)象時(shí)仍然引發(fā)了異常
                      
                      
    Traceback 
                      
                        (
                      
                      most recent call last
                      
                        )
                      
                      
                        :
                      
                      
      File 
                      
                        "
                        
                          "
                        
                      
                      
                        ,
                      
                       line 
                      
                        1
                      
                      
                        ,
                      
                      
                        in
                      
                      
                        <
                      
                      module
                      
                        >
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py"
                      
                      
                        ,
                      
                       line 
                      
                        238
                      
                      
                        ,
                      
                      
                        in
                      
                       dumps
      
                      
                        **
                      
                      kw
                      
                        )
                      
                      
                        .
                      
                      encode
                      
                        (
                      
                      obj
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        199
                      
                      
                        ,
                      
                      
                        in
                      
                       encode
        chunks 
                      
                        =
                      
                       self
                      
                        .
                      
                      iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                       _one_shot
                      
                        =
                      
                      
                        True
                      
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        257
                      
                      
                        ,
                      
                      
                        in
                      
                       iterencode
        
                      
                        return
                      
                       _iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                      
                        0
                      
                      
                        )
                      
                      
    RecursionError
                      
                        :
                      
                       maximum recursion depth exceeded 
                      
                        while
                      
                       encoding a JSON 
                      
                        object
                      
                    
                  
  • allow_nan=True
    是否允許序列化超出范圍的float類型的值(如float(‘inf’)、float(’-inf’)、float(‘nan’))。
    如果該參數(shù)設(shè)置為True,則上面列出的那些值將依次使用JavaScript中等價(jià)的值(Infinity、-Infinity、NaN)來(lái)進(jìn) 行替代;
    如果該參數(shù)設(shè)置為False,并且要序列化的對(duì)象中出現(xiàn)了那些超出范圍的值,則將引發(fā)ValueError異常。

                    
                      
                        >>
                      
                      
                        >
                      
                       num_list 
                      
                        =
                      
                      
                        [
                      
                      
                        2
                      
                      
                        ,
                      
                      
                        5
                      
                      
                        ,
                      
                      
                        float
                      
                      
                        (
                      
                      
                        'inf'
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        float
                      
                      
                        (
                      
                      
                        '-inf'
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        float
                      
                      
                        (
                      
                      
                        'nan'
                      
                      
                        )
                      
                      
                        ]
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      num_list
                      
                        )
                      
                      
                        # allow_nan的值默認(rèn)為True,列表中后三個(gè)值將被替換為js中等價(jià)的值
                      
                      
                        '[2, 5, Infinity, -Infinity, NaN]'
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      num_list
                      
                        ,
                      
                       allow_nan
                      
                        =
                      
                      
                        False
                      
                      
                        )
                      
                      
                        # allow_nan設(shè)置為False,引發(fā)ValueError異常
                      
                      
    Traceback 
                      
                        (
                      
                      most recent call last
                      
                        )
                      
                      
                        :
                      
                      
      File 
                      
                        "
                        
                          "
                        
                      
                      
                        ,
                      
                       line 
                      
                        1
                      
                      
                        ,
                      
                      
                        in
                      
                      
                        <
                      
                      module
                      
                        >
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py"
                      
                      
                        ,
                      
                       line 
                      
                        238
                      
                      
                        ,
                      
                      
                        in
                      
                       dumps
      
                      
                        **
                      
                      kw
                      
                        )
                      
                      
                        .
                      
                      encode
                      
                        (
                      
                      obj
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        199
                      
                      
                        ,
                      
                      
                        in
                      
                       encode
        chunks 
                      
                        =
                      
                       self
                      
                        .
                      
                      iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                       _one_shot
                      
                        =
                      
                      
                        True
                      
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        257
                      
                      
                        ,
                      
                      
                        in
                      
                       iterencode
        
                      
                        return
                      
                       _iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                      
                        0
                      
                      
                        )
                      
                      
    ValueError
                      
                        :
                      
                       Out of 
                      
                        range
                      
                      
                        float
                      
                       values are 
                      
                        not
                      
                       JSON compliant
    
                    
                  
  • indent=None
    是否在數(shù)組元素和對(duì)象成員前增加縮進(jìn)以便使格式更加美觀。
    如果該參數(shù)設(shè)置為大于等于1的整數(shù),則添加換行符和對(duì)應(yīng)數(shù)量的空格表示縮進(jìn),如果設(shè)置為0,則表示只添加換行符,如果設(shè)置為None,則表示無(wú)縮進(jìn)。

                    
                      
                        >>
                      
                      
                        >
                      
                       response 
                      
                        =
                      
                      
                        {
                      
                      
                        'status'
                      
                      
                        :
                      
                      
                        'success'
                      
                      
                        ,
                      
                      
                        'code'
                      
                      
                        :
                      
                      
                        200
                      
                      
                        ,
                      
                      
                        'data'
                      
                      
                        :
                      
                      
                        [
                      
                      
                        '002'
                      
                      
                        ,
                      
                      
                        'json'
                      
                      
                        ,
                      
                      
                        5000
                      
                      
                        ]
                      
                      
                        }
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        print
                      
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      response
                      
                        )
                      
                      
                        )
                      
                      
                        # 默認(rèn)值None,不縮進(jìn)
                      
                      
                        {
                      
                      
                        "status"
                      
                      
                        :
                      
                      
                        "success"
                      
                      
                        ,
                      
                      
                        "code"
                      
                      
                        :
                      
                      
                        200
                      
                      
                        ,
                      
                      
                        "data"
                      
                      
                        :
                      
                      
                        [
                      
                      
                        "002"
                      
                      
                        ,
                      
                      
                        "json"
                      
                      
                        ,
                      
                      
                        5000
                      
                      
                        ]
                      
                      
                        }
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        print
                      
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      response
                      
                        ,
                      
                       indent
                      
                        =
                      
                      
                        0
                      
                      
                        )
                      
                      
                        )
                      
                      
                        # 設(shè)置為0,則只添加換行
                      
                      
                        {
                      
                      
                        "status"
                      
                      
                        :
                      
                      
                        "success"
                      
                      
                        ,
                      
                      
                        "code"
                      
                      
                        :
                      
                      
                        200
                      
                      
                        ,
                      
                      
                        "data"
                      
                      
                        :
                      
                      
                        [
                      
                      
                        "002"
                      
                      
                        ,
                      
                      
                        "json"
                      
                      
                        ,
                      
                      
                        5000
                      
                      
                        ]
                      
                      
                        }
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        print
                      
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      response
                      
                        ,
                      
                       indent
                      
                        =
                      
                      
                        4
                      
                      
                        )
                      
                      
                        )
                      
                      
                        # 設(shè)置為4,添加換行和縮進(jìn)
                      
                      
                        {
                      
                      
                        "status"
                      
                      
                        :
                      
                      
                        "success"
                      
                      
                        ,
                      
                      
                        "code"
                      
                      
                        :
                      
                      
                        200
                      
                      
                        ,
                      
                      
                        "data"
                      
                      
                        :
                      
                      
                        [
                      
                      
                        "002"
                      
                      
                        ,
                      
                      
                        "json"
                      
                      
                        ,
                      
                      
                        5000
                      
                      
                        ]
                      
                      
                        }
                      
                    
                  
  • separators=None
    設(shè)置Json中各項(xiàng)之間、對(duì)象的鍵和值之間的分隔符;
    該參數(shù)必須是一個(gè)2元組,元組第一個(gè)元素表示Json數(shù)據(jù)中各項(xiàng)之間的分隔符,元組的第二個(gè)元素表示Json對(duì)象的鍵和值之間的分隔符。默認(rèn)的分隔符為(’,’, ‘:’)

                    
                      
                        >>
                      
                      
                        >
                      
                       response 
                      
                        =
                      
                      
                        {
                      
                      
                        'status'
                      
                      
                        :
                      
                      
                        'success'
                      
                      
                        ,
                      
                      
                        'code'
                      
                      
                        :
                      
                      
                        200
                      
                      
                        ,
                      
                      
                        'data'
                      
                      
                        :
                      
                      
                        [
                      
                      
                        '002'
                      
                      
                        ,
                      
                      
                        'json'
                      
                      
                        ,
                      
                      
                        5000
                      
                      
                        ]
                      
                      
                        }
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        print
                      
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      response
                      
                        ,
                      
                       separators
                      
                        =
                      
                      
                        (
                      
                      
                        ';'
                      
                      
                        ,
                      
                      
                        '!'
                      
                      
                        )
                      
                      
                        )
                      
                      
                        )
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        print
                      
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      response
                      
                        ,
                      
                       indent 
                      
                        =
                      
                      
                        4
                      
                      
                        ,
                      
                       separators
                      
                        =
                      
                      
                        (
                      
                      
                        ';'
                      
                      
                        ,
                      
                      
                        '!'
                      
                      
                        )
                      
                      
                        )
                      
                      
                        )
                      
                      
                        {
                      
                      
                        "status"
                      
                      !
                      
                        "success"
                      
                      
                        ;
                      
                      
                        "code"
                      
                      !
                      
                        200
                      
                      
                        ;
                      
                      
                        "data"
                      
                      !
                      
                        [
                      
                      
                        "002"
                      
                      
                        ;
                      
                      
                        "json"
                      
                      
                        ;
                      
                      
                        5000
                      
                      
                        ]
                      
                      
                        }
                      
                    
                  
  • default=None
    指定一個(gè)函數(shù),用來(lái)將不可進(jìn)行序列化的Python對(duì)象轉(zhuǎn)化為可序列化的Python對(duì)象

                    
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      b
                      
                        'hello world'
                      
                      
                        )
                      
                      
    Traceback 
                      
                        (
                      
                      most recent call last
                      
                        )
                      
                      
                        :
                      
                      
      File 
                      
                        "
                        
                          "
                        
                      
                      
                        ,
                      
                       line 
                      
                        1
                      
                      
                        ,
                      
                      
                        in
                      
                      
                        <
                      
                      module
                      
                        >
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py"
                      
                      
                        ,
                      
                       line 
                      
                        231
                      
                      
                        ,
                      
                      
                        in
                      
                       dumps
        
                      
                        return
                      
                       _default_encoder
                      
                        .
                      
                      encode
                      
                        (
                      
                      obj
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        199
                      
                      
                        ,
                      
                      
                        in
                      
                       encode
        chunks 
                      
                        =
                      
                       self
                      
                        .
                      
                      iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                       _one_shot
                      
                        =
                      
                      
                        True
                      
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        257
                      
                      
                        ,
                      
                      
                        in
                      
                       iterencode
        
                      
                        return
                      
                       _iterencode
                      
                        (
                      
                      o
                      
                        ,
                      
                      
                        0
                      
                      
                        )
                      
                      
      File 
                      
                        "/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/encoder.py"
                      
                      
                        ,
                      
                       line 
                      
                        179
                      
                      
                        ,
                      
                      
                        in
                      
                       default
        
                      
                        raise
                      
                       TypeError
                      
                        (
                      
                      f
                      
                        'Object of type {o.__class__.__name__} '
                      
                      
    TypeError
                      
                        :
                      
                       Object of 
                      
                        type
                      
                      
                        bytes
                      
                      
                        is
                      
                      
                        not
                      
                       JSON serializable
    
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      b
                      
                        'hello world'
                      
                      
                        ,
                      
                       default
                      
                        =
                      
                      
                        list
                      
                      
                        )
                      
                      
                        '[104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]'
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      b
                      
                        'hello world'
                      
                      
                        ,
                      
                       default
                      
                        =
                      
                      
                        str
                      
                      
                        )
                      
                      
                        '"b\'hello world\'"'
                      
                    
                  
  • sort_keys=False
    是否要將對(duì)象中字典元素按照key進(jìn)行排序。
    默認(rèn)為False,即不進(jìn)行排序,若指定為True,則會(huì)進(jìn)行排序。

                    
                      
                        >>
                      
                      
                        >
                      
                       emp_info 
                      
                        =
                      
                      
                        {
                      
                      
                        'name'
                      
                      
                        :
                      
                      
                        'bob'
                      
                      
                        ,
                      
                      
                        'age'
                      
                      
                        :
                      
                      
                        23
                      
                      
                        ,
                      
                      
                        'dept'
                      
                      
                        :
                      
                      
                        'sales'
                      
                      
                        ,
                      
                      
                        'gender'
                      
                      
                        :
                      
                      
                        'male'
                      
                      
                        }
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        print
                      
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_info
                      
                        ,
                      
                       indent 
                      
                        =
                      
                      
                        4
                      
                      
                        )
                      
                      
                        )
                      
                      
                        #  不按照key排序
                      
                      
                        {
                      
                      
                        "name"
                      
                      
                        :
                      
                      
                        "bob"
                      
                      
                        ,
                      
                      
                        "age"
                      
                      
                        :
                      
                      
                        23
                      
                      
                        ,
                      
                      
                        "dept"
                      
                      
                        :
                      
                      
                        "sales"
                      
                      
                        ,
                      
                      
                        "gender"
                      
                      
                        :
                      
                      
                        "male"
                      
                      
                        }
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        print
                      
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_info
                      
                        ,
                      
                       indent 
                      
                        =
                      
                      
                        4
                      
                      
                        ,
                      
                       sort_keys
                      
                        =
                      
                      
                        True
                      
                      
                        )
                      
                      
                        )
                      
                      
                        # 按照key進(jìn)行排序
                      
                      
                        {
                      
                      
                        "age"
                      
                      
                        :
                      
                      
                        23
                      
                      
                        ,
                      
                      
                        "dept"
                      
                      
                        :
                      
                      
                        "sales"
                      
                      
                        ,
                      
                      
                        "gender"
                      
                      
                        :
                      
                      
                        "male"
                      
                      
                        ,
                      
                      
                        "name"
                      
                      
                        :
                      
                      
                        "bob"
                      
                      
                        }
                      
                    
                  
  • cls=None
    指定一個(gè)定制的JSONEncoder的子類(例如,重寫了.default()方法用來(lái)序列化附加的類型),指定該參數(shù)時(shí)請(qǐng)使用cls關(guān)鍵字參數(shù)。如果未指定該參數(shù),則將使用默認(rèn)的JSONEncoder。

                    
                      
                        >>
                      
                      
                        >
                      
                      
                        class
                      
                      
                        IteratorEncoder
                      
                      
                        (
                      
                      json
                      
                        .
                      
                      encoder
                      
                        .
                      
                      JSONEncoder
                      
                        )
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        def
                      
                      
                        default
                      
                      
                        (
                      
                      self
                      
                        ,
                      
                       o
                      
                        )
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        try
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                                   iterable 
                      
                        =
                      
                      
                        iter
                      
                      
                        (
                      
                      o
                      
                        )
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        except
                      
                       TypeError
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        pass
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        else
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        return
                      
                      
                        list
                      
                      
                        (
                      
                      iterable
                      
                        )
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        return
                      
                      
                        super
                      
                      
                        (
                      
                      
                        )
                      
                      
                        .
                      
                      default
                      
                        (
                      
                      self
                      
                        ,
                      
                       o
                      
                        )
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        def
                      
                      
                        get_nums
                      
                      
                        (
                      
                      n
                      
                        )
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        if
                      
                      
                        not
                      
                      
                        isinstance
                      
                      
                        (
                      
                      n
                      
                        ,
                      
                      
                        int
                      
                      
                        )
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        raise
                      
                       TypeError
                      
                        (
                      
                      
                        'Expected int object'
                      
                      
                        )
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        while
                      
                       n 
                      
                        >
                      
                      
                        0
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        yield
                      
                       n
    
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                               n 
                      
                        -=
                      
                      
                        1
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        print
                      
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      get_nums
                      
                        (
                      
                      
                        10
                      
                      
                        )
                      
                      
                        ,
                      
                       indent
                      
                        =
                      
                      
                        4
                      
                      
                        ,
                      
                       cls
                      
                        =
                      
                      IteratorEncoder
                      
                        )
                      
                      
                        )
                      
                      
                        [
                      
                      
                        10
                      
                      
                        ,
                      
                      
                        9
                      
                      
                        ,
                      
                      
                        8
                      
                      
                        ,
                      
                      
                        7
                      
                      
                        ,
                      
                      
                        6
                      
                      
                        ,
                      
                      
                        5
                      
                      
                        ,
                      
                      
                        4
                      
                      
                        ,
                      
                      
                        3
                      
                      
                        ,
                      
                      
                        2
                      
                      
                        ,
                      
                      
                        1
                      
                      
                        ]
                      
                    
                  

json.dump

下面演示下該方法的簡(jiǎn)單用法:

            
              
                >>
              
              
                >
              
               response 
              
                =
              
              
                {
              
              
                'status'
              
              
                :
              
              
                'success'
              
              
                ,
              
              
                'code'
              
              
                :
              
              
                200
              
              
                ,
              
              
                'data'
              
              
                :
              
              
                {
              
              
                'username'
              
              
                :
              
              
                'bob'
              
              
                ,
              
              
                'user_level'
              
              
                :
              
              
                6
              
              
                ,
              
              
                'nickname'
              
              
                :
              
              
                'playboy'
              
              
                }
              
              
                }
              
              
                >>
              
              
                >
              
              
                with
              
              
                open
              
              
                (
              
              
                'res.json'
              
              
                ,
              
              
                'w'
              
              
                ,
              
               encoding
              
                =
              
              
                'utf-8'
              
              
                )
              
              
                as
              
               f
              
                :
              
              
                .
              
              
                .
              
              
                .
              
                   json
              
                .
              
              dump
              
                (
              
              response
              
                ,
              
               f
              
                ,
              
               indent
              
                =
              
              
                4
              
              
                )
              
              
                .
              
              
                .
              
              
                .
              
              
                >>
              
              
                >
              
               os
              
                .
              
              system
              
                (
              
              
                'cat res.json'
              
              
                )
              
              
                {
              
              
                "status"
              
              
                :
              
              
                "success"
              
              
                ,
              
              
                "code"
              
              
                :
              
              
                200
              
              
                ,
              
              
                "data"
              
              
                :
              
              
                {
              
              
                "username"
              
              
                :
              
              
                "bob"
              
              
                ,
              
              
                "user_level"
              
              
                :
              
              
                6
              
              
                ,
              
              
                "nickname"
              
              
                :
              
              
                "playboy"
              
              
                }
              
              
                }
              
              
                0
              
              
                >>
              
              
                >
              
            
          

json.loads

該方法包含一個(gè)位置參數(shù)和多個(gè)僅限關(guān)鍵字參數(shù),分別如下所示:

  • s

  • encoding=None
    該參數(shù)已棄用,將會(huì)被忽略

  • cls=None
    指定一個(gè)定制的JsonDecoder子類,以便實(shí)現(xiàn)特定的反序列化需求;

  • object_hook=None
    接受一個(gè)可調(diào)用對(duì)象,用于處理解碼后生成的Python對(duì)象中dict類型的值。
    注意,這個(gè)處理過(guò)程是遞歸進(jìn)行的,即返回的Python對(duì)象內(nèi)部所有的字典結(jié)構(gòu)都將被這個(gè)方法處理

                    
                      
                        >>
                      
                      
                        >
                      
                       emp_info 
                      
                        =
                      
                      
                        {
                      
                      
                        'name'
                      
                      
                        :
                      
                      
                        'bob'
                      
                      
                        ,
                      
                      
                        'age'
                      
                      
                        :
                      
                      
                        25
                      
                      
                        ,
                      
                      
                        'gender'
                      
                      
                        :
                      
                      
                        'Male'
                      
                      
                        }
                      
                      
                        >>
                      
                      
                        >
                      
                      
                        def
                      
                      
                        obj_hook
                      
                      
                        (
                      
                      _dict
                      
                        )
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        return
                      
                      
                        list
                      
                      
                        (
                      
                      _dict
                      
                        .
                      
                      items
                      
                        (
                      
                      
                        )
                      
                      
                        )
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      loads
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_info
                      
                        )
                      
                      
                        )
                      
                      
                        {
                      
                      
                        'name'
                      
                      
                        :
                      
                      
                        'bob'
                      
                      
                        ,
                      
                      
                        'age'
                      
                      
                        :
                      
                      
                        25
                      
                      
                        ,
                      
                      
                        'gender'
                      
                      
                        :
                      
                      
                        'Male'
                      
                      
                        }
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      loads
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_info
                      
                        )
                      
                      
                        ,
                      
                       object_hook
                      
                        =
                      
                      obj_hook
                      
                        )
                      
                      
                        [
                      
                      
                        (
                      
                      
                        'name'
                      
                      
                        ,
                      
                      
                        'bob'
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        (
                      
                      
                        'age'
                      
                      
                        ,
                      
                      
                        25
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        (
                      
                      
                        'gender'
                      
                      
                        ,
                      
                      
                        'Male'
                      
                      
                        )
                      
                      
                        ]
                      
                      
                        >>
                      
                      
                        >
                      
                       emp_list 
                      
                        =
                      
                      
                        [
                      
                      
                        25
                      
                      
                        ,
                      
                       emp_info
                      
                        ]
                      
                      
                        >>
                      
                      
                        >
                      
                       emp_list
    
                      
                        [
                      
                      
                        25
                      
                      
                        ,
                      
                      
                        {
                      
                      
                        'name'
                      
                      
                        :
                      
                      
                        'bob'
                      
                      
                        ,
                      
                      
                        'age'
                      
                      
                        :
                      
                      
                        25
                      
                      
                        ,
                      
                      
                        'gender'
                      
                      
                        :
                      
                      
                        'Male'
                      
                      
                        }
                      
                      
                        ]
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      loads
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_list
                      
                        )
                      
                      
                        ,
                      
                      object_hook
                      
                        =
                      
                      obj_hook
                      
                        )
                      
                      
                        [
                      
                      
                        25
                      
                      
                        ,
                      
                      
                        [
                      
                      
                        (
                      
                      
                        'name'
                      
                      
                        ,
                      
                      
                        'bob'
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        (
                      
                      
                        'age'
                      
                      
                        ,
                      
                      
                        25
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        (
                      
                      
                        'gender'
                      
                      
                        ,
                      
                      
                        'Male'
                      
                      
                        )
                      
                      
                        ]
                      
                      
                        ]
                      
                      
                        >>
                      
                      
                        >
                      
                       emp_d 
                      
                        =
                      
                      
                        [
                      
                      
                        25
                      
                      
                        ,
                      
                      
                        {
                      
                      
                        'name'
                      
                      
                        :
                      
                      
                        'bob'
                      
                      
                        ,
                      
                      
                        'age'
                      
                      
                        :
                      
                      
                        25
                      
                      
                        ,
                      
                      
                        'gender'
                      
                      
                        :
                      
                      
                        'Male'
                      
                      
                        ,
                      
                      
                        'emp_info'
                      
                      
                        :
                      
                      
                        {
                      
                      
                        'count'
                      
                      
                        :
                      
                      
                        9
                      
                      
                        ,
                      
                      
                        'total_salary'
                      
                      
                        :
                      
                      
                        120000
                      
                      
                        }
                      
                      
                        }
                      
                      
                        ]
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      loads
                      
                        (
                      
                      json
                      
                        .
                      
                      dumps
                      
                        (
                      
                      emp_d
                      
                        )
                      
                      
                        ,
                      
                      object_hook
                      
                        =
                      
                      obj_hook
                      
                        )
                      
                      
                        [
                      
                      
                        25
                      
                      
                        ,
                      
                      
                        [
                      
                      
                        (
                      
                      
                        'name'
                      
                      
                        ,
                      
                      
                        'bob'
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        (
                      
                      
                        'age'
                      
                      
                        ,
                      
                      
                        25
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        (
                      
                      
                        'gender'
                      
                      
                        ,
                      
                      
                        'Male'
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        (
                      
                      
                        'emp_info'
                      
                      
                        ,
                      
                      
                        [
                      
                      
                        (
                      
                      
                        'count'
                      
                      
                        ,
                      
                      
                        9
                      
                      
                        )
                      
                      
                        ,
                      
                      
                        (
                      
                      
                        'total_salary'
                      
                      
                        ,
                      
                      
                        120000
                      
                      
                        )
                      
                      
                        ]
                      
                      
                        )
                      
                      
                        ]
                      
                      
                        ]
                      
                    
                  
  • parse_float=None
    用于處理解碼后的Python對(duì)象中的float類型的值。

                    
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      loads
                      
                        (
                      
                      
                        '[23.5, 43.32, 5.934]'
                      
                      
                        ,
                      
                       parse_float
                      
                        =
                      
                      
                        lambda
                      
                       x
                      
                        :
                      
                      
                        int
                      
                      
                        (
                      
                      x
                      
                        )
                      
                      
                        )
                      
                      
                        # 將解碼后的所有的float類型的值轉(zhuǎn)成int類型
                      
                      
                        [
                      
                      
                        23
                      
                      
                        ,
                      
                      
                        43
                      
                      
                        ,
                      
                      
                        5
                      
                      
                        ]
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      loads
                      
                        (
                      
                      
                        '[23.5, 43.32, 5.934]'
                      
                      
                        ,
                      
                       parse_float
                      
                        =
                      
                      
                        lambda
                      
                       x
                      
                        :
                      
                      
                        str
                      
                      
                        (
                      
                      x
                      
                        )
                      
                      
                        )
                      
                      
                        # 將解碼后的所有的float類型的值轉(zhuǎn)成str類型
                      
                      
                        [
                      
                      
                        '23.5'
                      
                      
                        ,
                      
                      
                        '43.32'
                      
                      
                        ,
                      
                      
                        '5.934'
                      
                      
                        ]
                      
                    
                  
  • parse_constant=None
    接受一個(gè)可調(diào)用對(duì)象,用于解碼時(shí)對(duì)Infinity、-Infinity、NaN或其他非法的Json數(shù)值的處理。

                    
                      
                        >>
                      
                      
                        >
                      
                      
                        def
                      
                      
                        parse_cons
                      
                      
                        (
                      
                      cons
                      
                        )
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        if
                      
                       cons 
                      
                        ==
                      
                      
                        'Infinity'
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        return
                      
                      
                        100000000
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        elif
                      
                       cons 
                      
                        ==
                      
                      
                        '-Infinity'
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        return
                      
                      
                        -
                      
                      
                        100000000
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        elif
                      
                       cons 
                      
                        ==
                      
                      
                        'NaN'
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        return
                      
                      
                        None
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        else
                      
                      
                        :
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        raise
                      
                       Value
                      
                        (
                      
                      f
                      
                        "Can't convert this value {cons}"
                      
                      
                        )
                      
                      
                        .
                      
                      
                        .
                      
                      
                        .
                      
                      
                        >>
                      
                      
                        >
                      
                       json
                      
                        .
                      
                      loads
                      
                        (
                      
                      
                        '[Infinity, -Infinity, NaN]'
                      
                      
                        ,
                      
                       parse_constant
                      
                        =
                      
                      parse_cons
                      
                        )
                      
                      
                        [
                      
                      
                        100000000
                      
                      
                        ,
                      
                      
                        -
                      
                      
                        100000000
                      
                      
                        ,
                      
                      
                        None
                      
                      
                        ]
                      
                    
                  
  • object_parse_hook=None
    如果指定了該參數(shù)并且設(shè)置為一個(gè)可調(diào)用對(duì)象,那么Json對(duì)象將被解碼成一個(gè)元素為二元組的列表,二元組的兩個(gè)元素分別為Json對(duì)象中的鍵值對(duì)的鍵和值,并且列表中元素的順序與Json對(duì)象中鍵值對(duì)的順序一致。

            
              
                >>
              
              
                >
              
               emp_info 
              
                =
              
              
                {
              
              
                'name'
              
              
                :
              
              
                'bob'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                23
              
              
                ,
              
              
                'dept'
              
              
                :
              
              
                'sales'
              
              
                ,
              
              
                'gender'
              
              
                :
              
              
                'male'
              
              
                }
              
              
                >>
              
              
                >
              
               json
              
                .
              
              loads
              
                (
              
              json
              
                .
              
              dumps
              
                (
              
              emp_info
              
                )
              
              
                ,
              
               object_pairs_hook
              
                =
              
              
                str
              
              
                )
              
              
                "[('name', 'bob'), ('age', 23), ('dept', 'sales'), ('gender', 'male')]"
              
              
                >>
              
              
                >
              
              
                from
              
               collections 
              
                import
              
               OrderedDict

              
                >>
              
              
                >
              
               json
              
                .
              
              loads
              
                (
              
              json
              
                .
              
              dumps
              
                (
              
              emp_info
              
                )
              
              
                ,
              
               object_pairs_hook
              
                =
              
              OrderedDict
              
                )
              
              
OrderedDict
              
                (
              
              
                [
              
              
                (
              
              
                'name'
              
              
                ,
              
              
                'bob'
              
              
                )
              
              
                ,
              
              
                (
              
              
                'age'
              
              
                ,
              
              
                23
              
              
                )
              
              
                ,
              
              
                (
              
              
                'dept'
              
              
                ,
              
              
                'sales'
              
              
                )
              
              
                ,
              
              
                (
              
              
                'gender'
              
              
                ,
              
              
                'male'
              
              
                )
              
              
                ]
              
              
                )
              
            
          

json.load

下面演示下該方法的簡(jiǎn)單用法:

            
              
                >>
              
              
                >
              
              
                with
              
              
                open
              
              
                (
              
              
                'res.json'
              
              
                ,
              
               encoding
              
                =
              
              
                'utf-8'
              
              
                )
              
              
                as
              
               f
              
                :
              
              
                .
              
              
                .
              
              
                .
              
                   json
              
                .
              
              load
              
                (
              
              f
              
                )
              
              
                .
              
              
                .
              
              
                .
              
              
                {
              
              
                'status'
              
              
                :
              
              
                'success'
              
              
                ,
              
              
                'code'
              
              
                :
              
              
                200
              
              
                ,
              
              
                'data'
              
              
                :
              
              
                {
              
              
                'username'
              
              
                :
              
              
                'bob'
              
              
                ,
              
              
                'user_level'
              
              
                :
              
              
                6
              
              
                ,
              
              
                'nickname'
              
              
                :
              
              
                'playboy'
              
              
                }
              
              
                }
              
            
          

轉(zhuǎn)載:https://blog.csdn.net/swinfans/article/details/86501555


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 欧美激情精品久久久久 | 奇米影视小说 | 久久久久久久久99精品 | 色在线视频观看 | 男人的天堂久久 | 亚洲成人黄色在线 | 国产午夜永久福利视频在线观看 | 日本高清乱理伦片中文字幕啊 | 国产69精品久久久久99尤物 | 国内精品久久久久久99蜜桃 | 欧美无玛| 久久久久草 | 毛片激情永久免费 | 成人瑟瑟 | 小明天天看 | 久久精品国产99久久久古代 | 色欲AV色情国产又爽又色 | 亚洲男人的天堂网站 | 亚洲日韩欧美视频 | 奇米视频888| 青青草国产成人久久91网 | 成人欧美一区二区三区在线播放 | 激情五月色综合婷婷大片 | 一级女性大黄生活片免费 | 国产精品久久婷婷六月丁香 | 欧美精品国产综合久久 | 日韩一区二区不卡 | 亚洲午夜在线视频 | 成人黄色网址 | 天天看天天爽天天摸天天添 | 我把寡妇日出水好爽视频 | 日本高清午夜色wwwσ | 亚洲欧美在线视频 | 天天看片网| 日日摸夜夜摸人人嗷嗷叫 | 亚洲国产香蕉视频欧美 | 老子午夜影院 | 日日夜夜天天人人 | 女人a级毛片19毛水真多 | 日韩在线免费观看视频 | 精品久久久久国产免费 |