介紹JSON
維基百科介紹JSON
JSON格式鑒定網(wǎng)站
JSON在線編輯器
Python中Json庫不支持帶BOM的UTF-8(參考網(wǎng)站)
JSON用于描述數(shù)據(jù)結構,有以下形式存在:(參考自維基百科)
- 對象(object):一個對象以{開始,并以}結束哀卫。一個對象包含一系列非排序的名稱/值對怯伊,每個名稱/值對之間使用,分區(qū)向臀。
- 名稱/值(collection):名稱和值之間使用:隔開运杭,一般的形式是:
{key:value} - 一個名稱是一個字符串逗爹; 一個值可以是一個字符串谷市,一個數(shù)值蛔垢,一個對象,一個布爾值迫悠,一個有序列表鹏漆,或者一個null值。
- 值的有序列表(Array):一個或者多個值用,分區(qū)后创泄,使用[艺玲,]括起來就形成了這樣的列表,形如:
[collection, collection] - 字符串:以一對"括起來的一串字符鞠抑。
- 數(shù)值:一系列0-9的數(shù)字組合饭聚,可以為負數(shù)或者小數(shù)。還可以用e或者E表示為指數(shù)形式搁拙。
- 布爾值:表示為true或者false秒梳。
讀取json文件并轉換為字典
# -*- coding:utf-8 -*-
import json
file_path = 'json文件相對路徑或者據(jù)對路徑'
with open(file_path) as f:
js = json.load(f) # js是轉換后的字典
json文件內(nèi)容
{
"大國":['中國','美國','俄羅斯']
}
讀取報錯
解決方法
- json庫不支持帶BOM的UTF-8的格式編碼,所以使用notepad++對json進行編碼格式轉換
- json數(shù)據(jù)測試箕速,對json數(shù)據(jù)結構進行測試酪碘,有也可能是json數(shù)據(jù)本身出現(xiàn)問題,發(fā)現(xiàn)是雙引號的問題盐茎,將json文件內(nèi)容改為
{
"大國":["中國","美國","俄羅斯"]
}
程序運行成功