Python json模块 - Python零基础入门教程
目錄
- 一.前言
- 二.python json 模塊常用函數
- 三.json 轉 Python 字典 dict
- 四.Python 字典 dict 轉 json
- 五.關于 json.dump 和 json.load
- 六.猜你喜歡
零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門
一.前言
JSON 的全稱是 JavaScript Object Notation,即 JavaScript 對象符號,它是一種輕量級、跨平臺、跨語言的數據交換格式,其設計意圖是把所有事情都用設計的字符串來表示,這樣既方便在互聯網上傳遞信息,也方便人進行閱讀。
JSON 主要在類似于 C 的編程語言中廣泛使用,這些語言包括 C、C++、C#、Java、JavaScript、Perl、Python 等。JSON 提供了多種語言之間完成數據交換的能力,因此,JSON 也是一種非常理想的數據交換格式。
二.python json 模塊常用函數
json 模塊提供了對 JSON 的支持,它既包含了將 JSON 字符串恢復成 Python 對象的函數,也提供了將 Python 對象轉換成 JSON 字符串的函數。
- json.dumps — 對數據進行編碼,形成 json 格式的數據;
- json.loads — 將 json 格式的數據解碼,轉換為 Python 字典 dict ;
三.json 轉 Python 字典 dict
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python json模塊.py @Time:2021/04/01 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""import jsondata_str = '{"url": "www.shuopython.com", "name": "猿說python", "contents": "python教程"}' data_dict = json.loads(data_str) print(data_dict) print(type(data_dict))''' 輸出結果: {'url': 'www.shuopython.com', 'name': '猿說python', 'contents': 'python教程'} <class 'dict'> '''注意:data_str 是 json 字符串,并非字典 dict 也并非字符串 string;
四.Python 字典 dict 轉 json
在使用 dump / dumps 時可能會使用到以下參數:
-
skipkey:默認為 False,當 dict 對象里的數據不是 Python 的基本數據類型;(str,unicode,int,long,float,bool,None)時,當 skipkey 為 False,就會報錯,如果 skipkey 為 True ,則可以跳過這類 key ;
-
indent:如果填 0 或者不填,則按照一行進行打印,否則按照 indent 的數值顯示前面的空格(正整數形式);
-
separators:分隔符,默認為“(‘,’,’:’)”,它表示 key 之間用“,”隔開,key 和 value 之間用“:”隔開;
-
encoding:編碼格式,默認值是 UTF-8;
-
sort_keys:對 key、value 進行排序,默認值是 False ,即不排序;
-
ensure_ascii:默認為 True,如果 dict 對象里含有 none-ASCII 的字符,則顯示\uXX 的格式,如果為 False,則能正常顯示出來(解決中文亂碼問題);
五.關于 json.dump 和 json.load
相對于上面所講的 dumps 和 loads 來說,dump 和 load 函數的功能類似,只不過前者是用來處理字符串類型的,而后者是用于處理文件類型的,如下所示:
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python json模塊.py @Time:2021/04/01 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""import jsondata = {'str3':'xyz','str2' :'efgh','str1':'abcd'} with open(' data. txt', '', encoding='utf-8') as f:json.dump(data, f, indent=4) # f. write (json.dumps (data, indent=4)) #和上面的效果一樣with open(' data. txt', 'r') as f:d2 = json.load(f) #d2 = json.loads (f. read())#和上面的效果一樣六.猜你喜歡
未經允許不得轉載:猿說編程 ? Python json 模塊
總結
以上是生活随笔為你收集整理的Python json模块 - Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python bytearray/byt
- 下一篇: BugkuCTF-MISC题where