Python解析JSON數據

JSON簡介

JSON(全稱JavaScript Object Notation) 是一種輕量級的數據交換格式。百度有詳細的解釋,這裏就不詳細copy了。
度娘一下,你就知道JSON

JSON數據和Python數據對應關係表

JSON類型 Python類型
object dict
array list,tuple
string str
int,float… number(int)
true True
false False
null None

json模塊

json模塊是Python自帶處理json數據的模塊

用到以下4個方法

方法 用途
dumps 將對象轉爲json格式
loads 將json格式轉爲對象
dump 將對象轉爲json格式保存到文件
load 從文件中讀取json字符串轉爲內存中對象
  • dumps()
    將對象轉成json字符串
import json

obj_dict = {'name': '小明', 'age': 12}
json_dict = json.dumps(obj_dict)
print(json_dict)

json格式串
可以看到字典被轉成了json格式字符串

  • loads()
    json字符串轉爲對象
import json

obj_dict = {'name': '小明', 'age': 12}
json_dict = json.dumps(obj_dict)
print(json_dict)

obj_dict = json.loads(json_dict)
print(obj_dict)

json轉對象

  • dump()
    將對象轉成json字符串保存到文件
import json

obj_dict = {'name': '小明', 'age': 12}
flag = False
try:
    savefile = open('json', 'w')
    json.dump(obj_dict, savefile)
    flag = True
except:
    print('保存到文件失敗')
finally:
    if flag:
        savefile.close()

運行代碼,將在當前路徑下生成json文件,裏面就是json格式化的字符串

  • load()
    從文件中讀取json字符串轉爲內存中對象
import json

obj_dict = {'name': '小明', 'age': 12}
flag = False
try:
    savefile = open('json', 'w')
    json.dump(obj_dict, savefile)
    flag = True
except:
    print('保存到文件失敗')
finally:
    if flag:
        savefile.close()
        flag = False

obj_dict = {}
try:
    jsonfile = open('json', 'r')
    obj_dict = json.load(jsonfile)
    print(obj_dict)
    flag = True
except:
    print('從文件中讀取json字符串失敗')
finally:
    if flag:
        jsonfile.close()

運行代碼成功後,將在控制檯打印文件中的json字符串

讀取複雜json

{
    "age": 10,
    "class": [
        "語言",
        "數學",
        "英語"
    ],
    "gender": true,
    "name": "小明"
}
import json

jsonfile = open('json', 'r', encoding='utf-8')
obj_dict = json.load(jsonfile)
print(obj_dict)
print(obj_dict['age'])
obj_list = obj_dict['class']
for clz in obj_list:
    print(clz)
print(obj_dict['gender'])
print(obj_dict['name'])

打印結果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章