URL パラメータを JavaScript オブジェクトに変換する方法
Web アプリケーションを使用する場合、パラメータを含む URL に遭遇することがよくあります。これらのパラメータには、JavaScript コード内でアクセスしたい追加情報を含めることができます。これを行うには、URL パラメータを JavaScript オブジェクトに変換する必要があります。
ワンライナー ソリューション
次のワンライナーは、迅速かつ簡単な解決策を提供します。 URL パラメータをオブジェクトに変換する方法:
<code class="javascript">JSON.parse('{"' + decodeURI("abc=foo&def=%5Basf%5D&xyz=5".replace(/&/g, "","").replace(/=/g, "":"")) + '"}')</code>
ステップバイステップの内訳
このソリューションをステップごとに詳しく見てみましょう:
Reviver Function
ワンライナー ソリューションでほとんどのシナリオが処理されますが、「」のような特定の文字で問題が発生する可能性があります。 URL パラメーターに %" を含めます。これに対処するには、JSON オブジェクトを解析するときに reviver 関数を使用できます。
<code class="javascript">JSON.parse('{"' + search.replace(/&/g, '","').replace(/=/g,'":"') + '"}', function(key, value) { return key===""?value:decodeURIComponent(value) })</code>
この reviver 関数は、各キーの値を返す前に URI デコードを実行し、すべての文字が適切に処理されるようにします。
使用例
これらの解決策のいずれかを使用するには、「abc=foo&def=[asf]&xyz=5」を変換する実際の URL パラメータに置き換えるだけです。出力は、必要に応じてアクセスして操作できる JavaScript オブジェクトになります。
以上がURL パラメータを JavaScript オブジェクトに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。