ホームページ  >  記事  >  ウェブフロントエンド  >  「eval」を使用せずに「Relaxed」JSON を解析するにはどうすればよいですか?

「eval」を使用せずに「Relaxed」JSON を解析するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 21:11:02335ブラウズ

How Can I Parse

eval に頼らずに「リラックスした」JSON を解析する

引用符で囲まれていないキーを使用した「リラックスした」構文に従う JSON データを解析することは、特に、潜在的に危険な eval の使用。

解決策の 1 つは、正規表現置換を使用して 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);

このアプローチにより、次のことが可能になります。セキュリティを損なったり、JSHint 警告をトリガーしたりすることなく、「緩和された」JSON データを解析し、テスト目的で eval に代わる便利で安全な代替手段を提供します。

以上が「eval」を使用せずに「Relaxed」JSON を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。