[ Python入門教程 ] Python中JSON模塊基本使用方法


  JSON (JavaScript Object Notation)是一種使用廣泛的輕量數據格式,Python標准庫中的json模塊提供了一種簡單的方法來編碼和解碼JSON格式的數據。用於完成字符串和python數據類型間進行轉換。

json模塊基本函數

  json.dumps():把Python數據類型轉換成JSON字符串

  json.loads():把JSON字符串轉換成Python數據類型

  json.dump():把Python數據類型轉換成JSON字符串並存儲在文件中

  json.load():把文件打開並將JSON字符串轉換成Python數據類型

  說明:使用 JSON 函數需要導入 json 庫:import json

json模塊使用實例

  1、將python中的字典轉換為JSON字符串。說明:轉換后的JSON字符串都是放在雙引號中。

>>> import json
>>> student_dic = {'name':'ACME', 'age':'18', 'grade' : '90'}
>>> json_data = json.dumps(student_dic)
>>> type(json_data)
<class 'str'>
>>> print(json_data)
{"name": "ACME", "age": "18", "grade": "90"}

  2、將JSON字符串轉換為Python字典。說明:字符串必須放在雙引號中,否則會報錯。

>>> tran_data = json.loads(json_data)
>>> type(tran_data)
<class 'dict'>
>>> print(tran_data)
{'name': 'ACME', 'age': '18', 'grade': '90'}

  3、將Python字典類型數據寫入json文件中

>>> import json
>>> student_dic = {'name':'ACME', 'age':'18', 'grade' : '90'}
>>> with open('json.txt','w') as f:
...   json.dump(student_dic,f)
...
>>>

  查看json.txt文件內容,如下:

d:\pycharm>type json.txt
{"name": "ACME", "age": "18", "grade": "90"}

  說明:type為dos命令,作用是查看文件內容。

  4、讀取JSON文件,並把字符串變換為Python數據字典

>>> with open('json.txt','r') as fr:
...   student_dict = json.load(fr)
...
>>> type(student_dict)
<class 'dict'>
>>> print(student_dict)
{'name': 'ACME', 'age': '18', 'grade': '90'}

  5、將Python字典類型轉換為JSON字符串,並以指定格式輸出。

>>> import json
>>> student_dic = {'name':'ACME', 'age':'18', 'grade' : '90'}
>>> json_data = json.dumps(student_dic,indent=4)
>>> print(json_data)
{
    "name": "ACME",
    "age": "18",
    "grade": "90"
}

  6、將Python字典類型轉換為JSON字符串,並按鍵排序輸出。

>>> json_data = json.dumps(student_dic,sort_keys=True,indent=4)
>>> print(json_data)
{
    "age": "18",
    "grade": "90",
    "name": "ACME"
}

  7、Python基本類型轉換為JSON字符串的特殊變化。

>>> spec_value_dict = {'a':True,'b':False,'c':None}
>>> json_data = json.dumps(spec_value_dict,indent=4)
>>> print(json_data)
{
    "a": true,
    "b": false,
    "c": null
}
>>>

 說明:Python中的True轉換為true,False轉化為false,None轉換為null。使用loads將JSON類型轉換后還原,如下:

>>> json.loads(json_data)
{'a': True, 'b': False, 'c': None}

小結

  本文僅是描述了Python基本類型與JSON字符串間轉換的基本使用方法。對於JSON編解碼更多功能使用可以閱讀官方文檔獲取:https://docs.python.org/3/library/json.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM