」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在不使用“eval”的情況下安全地解析“寬鬆”JSON?

如何在不使用“eval”的情況下安全地解析“寬鬆”JSON?

發佈於2024-11-07
瀏覽:914

How Can I Safely Parse \

在沒有風險評估的情況下解析「輕鬆」的JSON

JSON 是廣泛使用的資料交換格式,需要帶引號的鍵的嚴格語法。但是,某些應用程式可能會遇到帶有不帶引號的鍵的“寬鬆”JSON。由於安全風險,不鼓勵使用 eval 解析此類資料。

避免邪惡的 Eval

eval 的替代方法是基於正則表達式的方法,該方法在解析之前清理 JSON 。此方法掃描 JSON 字串並用帶引號的鍵替換任何未加引號的鍵,確保符合標準 JSON 語法而不影響安全性。

範例實作

要實作此方法,請依照下列步驟操作:

var badJson = "{muh: 2}";

// Sanitize the JSON using regular expression replace
var correctJson = badJson.replace(/(['"])?([a-z0-9A-Z_] )(['"])?:/g, '"$2": ');

// Parse the sanitized JSON using JSON.parse
var obj = JSON.parse(correctJson);

結論

使用正規表示式來清理寬鬆的JSON 可以實現無縫解析,同時避免與eval 相關的潛在安全風險。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3