-
1 # gegrp27145
-
2 # 使用者7169188564904
f = open("d:\\json.txt","r")
json.load(f)
Traceback (most recent call last):
File "
json.load(f)
File "C:\Users\dengxuan\AppData\Local\Programs\Python\Python35\lib\json\__init__.py", line 268, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "C:\Users\dengxuan\AppData\Local\Programs\Python\Python35\lib\json\__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "C:\Users\dengxuan\AppData\Local\Programs\Python\Python35\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Users\dengxuan\AppData\Local\Programs\Python\Python35\lib\json\decoder.py", line 355, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
回覆列表
1、說明:python3透過json模組load函式來解析檔案。2、程式碼示例:首先編寫一個json檔案j.txt,內容如下:{"errno":1,"errmsg":"操作成功!","data":[]}python程式碼如下:123456import jsonwith open("j.txt", "r") as fr: o = json.load(fr) print(o["errno"]) print(o["errmsg"]) print(len(o["data"]))輸出如下:1操作成功!03、函式說明:load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)反序列化fp(一個.read()包含 - 支援類檔案物件一個JSON檔案),以一個Python物件。object_hook是將與被呼叫的可選功能任何物件文字解碼(一個``dict``)的結果。返回值object_hook將用來代替dict。此功能可用於實現自定義解碼器(例如JSON-RPC級提示)。object_pairs_hook是將與被呼叫的可選功能任何物件的結果與對的有序列表字面解碼。該的返回值object_pairs_hook將用來代替dict。此功能可用於實現依賴於定製解碼器命令該鍵和值對被解碼(例如,collections.OrderedDict會記得插入的順序)。如果object_hook也定義了object_pairs_hook優先。要使用自定義JSONDecoder子類,與cls指定它kwarg;否則JSONDecoder使用。4、其它說明:也可以使用json.loads函式來直接處理字串,方法如下:o=json.loads("{"errno":0,"errmsg":"操作成功!","data":[]}")