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

python詳解json模塊

系統 1671 0

  我們在做工作中經常會使用到json模塊,今天就簡單介紹下json模塊

?

什么是json

JSON ,全稱為JavaScript Object Notation, 也就是JavaScript 對象標記,它通過對象和數組的組合米表示數據,構造簡潔但是結構化程度非常高,是一種輕量級的數據交換格式。json模塊在python中可以作為數據解析json

?

對象和數組

在JavaScript 語言中,一切都是對象。任何支持的類型都可以通過JSON來表示,例如字符串、數字、對象、數組等,但是對象和數組是比較特殊且常用的兩種類型

對象 :它在JavaScript中是使用花括號{ }包裹起來的內容,數據結構為{ keyl : valuel,key2:value2}的鍵值對結構。在面向對象的語言中,key為對象的屬性,value 為對應的值。鍵名可以使用整數和字符串來表示。值的類型可以是任意類型。

數組 :數組在JavaScript中是方括號[]包裹起來的內容,數據結構為[ ”java ” ,” javascript ”,"vb " ]的索引結構。在JavaScript中, 數組是一種比較特殊的數據類型,它也可以像對象那樣使用鍵值對,但還是索引用得多。同樣,值的類型可以是任意類型。

?

JSON對象格式

會發現和我們的字典格式是不是特別的一樣

            
              
                # 格式為{"name":"value"}
              
              
[{
" name " : " AnJing " , " age " : " 26 " }]

?

JSON簡單使用

loads()方法

?使用方法loads()將 json文字轉化成json對象

            
              #
            
            
               coding:utf-8
            
            
              import
            
            
               json
str 
            
            = 
            
              '''
            
            
              
    [{
    "name":"AnJing",
    "age":"26"
}]

            
            
              '''
            
            
              
data 
            
            =
            
               json.loads(str)

            
            
              print
            
            
              (data)

            
            
              print
            
            
              (type(data))

            
            
              print
            
            (data[0][
            
              '
            
            
              name
            
            
              '
            
            ])  
            
              #
            
            
               通過下標進行選擇
            
            
              print
            
            (data[0].get(
            
              '
            
            
              name
            
            
              '
            
            
              ))

代碼結果:
[{
            
            
              '
            
            
              name
            
            
              '
            
            : 
            
              '
            
            
              AnJing
            
            
              '
            
            , 
            
              '
            
            
              age
            
            
              '
            
            : 
            
              '
            
            
              26
            
            
              '
            
            
              }]

            
            <
            
              class
            
            
              '
            
            
              list
            
            
              '
            
            >
            
              
AnJing
AnJing
            
          

注意:在使用loads的時候json字符串必須要用雙引號表示,否則會報錯

(json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 3 column 5 (char 12)

dumps()方法

使用dumps()方法將json轉換成字符串

            
              #
            
            
               coding:utf-8
            
            
              import
            
            
               json
str 
            
            =
            
               [{
    
            
            
              "
            
            
              name
            
            
              "
            
            :
            
              "
            
            
              AnJing
            
            
              "
            
            
              ,
    
            
            
              "
            
            
              age
            
            
              "
            
            :
            
              "
            
            
              26
            
            
              "
            
            
              
}]

            
            
              print
            
            
              (type(str))
data 
            
            =
            
               json.dumps(str)

            
            
              print
            
            
              (type(data))

            
            
              print
            
            
              (data)

代碼結果:

            
            <
            
              class
            
            
              '
            
            
              list
            
            
              '
            
            >
<
            
              class
            
            
              '
            
            
              str
            
            
              '
            
            >
            
              
[{
            
            
              "
            
            
              name
            
            
              "
            
            : 
            
              "
            
            
              AnJing
            
            
              "
            
            , 
            
              "
            
            
              age
            
            
              "
            
            : 
            
              "
            
            
              26
            
            
              "
            
            }]
          

另外如果想要保存的文字好看點,我們可以增加一個參數indent,代表縮進字符個數,已經可以寫入中文的時候不會亂碼,加入ensure_ascii=False

            
              #
            
            
               coding:utf-8
            
            
              import
            
            
               json
str 
            
            =
            
               [{
    
            
            
              "
            
            
              name
            
            
              "
            
            :
            
              "
            
            
              安靜
            
            
              "
            
            
              ,
    
            
            
              "
            
            
              age
            
            
              "
            
            :
            
              "
            
            
              26
            
            
              "
            
            
              ,
    
            
            
              "
            
            
              性別
            
            
              "
            
            :
            
              "
            
            
            
              "
            
            
              
}]

            
            
              #
            
            
               indent 表示縮進
            
            
              
#
            
            
               ensure_ascii=False 表示寫入中文
            
            
with open(
            
              '
            
            
              123.json
            
            
              '
            
            ,
            
              '
            
            
              w
            
            
              '
            
            ,encoding=
            
              '
            
            
              utf-8
            
            
              '
            
            
              )as f:
    f.write(json.dumps(str,indent
            
            =2,ensure_ascii=
            
              False))


代碼結果:
[
  {
    
            
            
              "
            
            
              name
            
            
              "
            
            : 
            
              "
            
            
              安靜
            
            
              "
            
            
              ,
    
            
            
              "
            
            
              age
            
            
              "
            
            : 
            
              "
            
            
              26
            
            
              "
            
            
              ,
    
            
            
              "
            
            
              性別
            
            
              "
            
            : 
            
              "
            
            
            
              "
            
            
              
  }
]
            
          

load()方法

將文件內容轉換成json數據

            
              #
            
            
               導入json模塊
            
            
              import
            
            
               json
str 
            
            =
            
               [{
    
            
            
              "
            
            
              name
            
            
              "
            
            :
            
              "
            
            
              AnJing
            
            
              "
            
            
              ,
    
            
            
              "
            
            
              age
            
            
              "
            
            :
            
              "
            
            
              26
            
            
              "
            
            
              
}]

            
            
              #
            
            
               通過dumps寫入文件中
            
            
with open(
            
              '
            
            
              123.json
            
            
              '
            
            ,
            
              '
            
            
              w
            
            
              '
            
            
              )as f:
    f.write(json.dumps(str))

            
            
              #
            
            
               通過load將數據轉換成json
            
            
data = json.load(open(
            
              '
            
            
              123.json
            
            
              '
            
            ,
            
              '
            
            
              r
            
            
              '
            
            
              ))

            
            
              print
            
            
              (data)

代碼結果:
[{
            
            
              '
            
            
              name
            
            
              '
            
            : 
            
              '
            
            
              AnJing
            
            
              '
            
            , 
            
              '
            
            
              age
            
            
              '
            
            : 
            
              '
            
            
              26
            
            
              '
            
            }]
          

dump()方法

將json數據寫入到文件中

            
              #
            
            
               coding:utf-8
            
            
              import
            
            
               json
str 
            
            =
            
               [{
    
            
            
              "
            
            
              name
            
            
              "
            
            :
            
              "
            
            
              AnJing
            
            
              "
            
            
              ,
    
            
            
              "
            
            
              age
            
            
              "
            
            :
            
              "
            
            
              26
            
            
              "
            
            
              
}]

            
            
              #
            
            
               通過dump寫入到json中
            
            
json.dump(str,open(
            
              '
            
            
              123.json
            
            
              '
            
            ,
            
              '
            
            
              w
            
            
              '
            
            
              ))

            
            
              #
            
            
               通過load查看是否寫入
            
            
data = json.load(open(
            
              '
            
            
              123.json
            
            
              '
            
            ,
            
              '
            
            
              r
            
            
              '
            
            
              ))

            
            
              print
            
            
              (data)


代碼結果:
[{
            
            
              '
            
            
              name
            
            
              '
            
            : 
            
              '
            
            
              AnJing
            
            
              '
            
            , 
            
              '
            
            
              age
            
            
              '
            
            : 
            
              '
            
            
              26
            
            
              '
            
            }]
          

?

?

簡單的寫了寫json模塊的使用方法,以及json的簡單介紹,歡迎繼續補充沒有涉及到的知識。

?

感覺寫的對您有幫助的,點個關注不迷路~~~~


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 佛冈县| 合江县| 临泉县| 阿鲁科尔沁旗| 石楼县| 临洮县| 林西县| 琼结县| 石景山区| 新野县| 龙海市| 宜兴市| 驻马店市| 九龙城区| 台南市| 池州市| 额济纳旗| 镇赉县| 米泉市| 广昌县| 方正县| 文昌市| 五河县| 临泽县| 永修县| 安康市| 丽水市| 文山县| 都昌县| 长春市| 盐亭县| 甘德县| 呼伦贝尔市| 新密市| 即墨市| 迁西县| 焉耆| 阿荣旗| 蓬莱市| 双城市| 娱乐|