解析遵循帶有不帶引號的鍵的「寬鬆」語法的JSON 資料會帶來挑戰,尤其是在旨在避免使用eval 可能存在危險。
一種解決方案是使用正規表示式替換來清理 JSON 字串。透過將不含引號的鍵值對替換為其帶引號的等效項,我們可以建立一個符合標準語法的 JSON 字串。
考慮以下範例:
var badJson = "{muh: 2}"; // Sanitize the JSON using regular expression var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_]+)(['"])?:/g, '"": '); // Now we can safely parse the corrected JSON JSON.parse(correctJson);
這種方法允許我們解析「寬鬆」的JSON 數據,不會影響安全性或觸發JSHint 警告,為您的測試目的提供方便且安全的eval 替代方案。
以上是如何在不使用'eval”的情況下解析'輕鬆”JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!