為什麼 JSON 解碼失敗:語法無效
提供的 JSON 資料出現錯誤,導致 Python 無法成功解析它。根本原因在於「masks」和「parameters」元素的語法不正確。
JSON 物件與陣列的語法
JSON 對象,它們是等效的對於 Python 中的字典,用大括號 {} 括起來。數組在 Python 中表示為列表,用方括號 [] 括起來。
JSON 資料中的錯誤
給定的 JSON 資料錯誤地使用 [] 而不是 { } 對於「掩碼」和「參數」。此語法錯誤會導致錯誤訊息:
json.decoder.JSONDecodeError: Expecting ',' delimiter: line 13 column 13 (char 213)
修正JSON 語法
要修正語法錯誤,請將「遮罩」和「參數」周圍的括號括號括起來應該用花括號代替。更正後的JSON 資料應如下所示:
{ "maps": [ { "id": "blabla", "iscategorical": "0" }, { "id": "blabla", "iscategorical": "0" } ], "masks": { "id": "valore" }, "om_points": "value", "parameters": { "id": "valore" } }
用於解析有效JSON 的Python 程式碼
一旦JSON 資料修正,Python 程式碼就可以成功解析它使用json.load() 方法。提供的程式碼可依下列方式使用:
import json from pprint import pprint with open('data_fixed.json') as f: data = json.load(f) pprint(data)
此程式碼將使用 pprint() 函數以可讀格式列印 JSON 資料的內容。
提取值來自 JSON
解析 JSON 資料後,可以使用 Python 字典和列表語法存取各個值。例如:
以上是為什麼我的 JSON 解碼器失敗:數組與物件中的語法不正確?的詳細內容。更多資訊請關注PHP中文網其他相關文章!