オブジェクトを URL クエリ パラメータのリストにシリアル化するにはどうすればよいでしょうか? 質問する

オブジェクトを URL クエリ パラメータのリストにシリアル化するにはどうすればよいでしょうか? 質問する

JavaScript のキーを知らずにObject、次のようなものをどのように変換できますか?

var obj = {
   param1: 'something',
   param2: 'somethingelse',
   param3: 'another'
}

obj[param4] = 'yetanother';

...の中へ...

var str = 'param1=something&param2=somethingelse&param3=another&param4=yetanother';

…?

ベストアンサー1

依存関係のない 1 行:

new URLSearchParams(obj).toString();
// OUT: param1=something&param2=somethingelse&param3=another&param4=yetanother

次のように URL 組み込みで使用します。

let obj = { param1: 'something', param2: 'somethingelse', param3: 'another' }
obj['param4'] = 'yetanother';
const url = new URL(`your_url.com`);
url.search = new URLSearchParams(obj);
const response = await fetch(url);

[2020 年 4 月 4 日編集]:null値は文字列として解釈されます'null'

[2022年3月9日編集]:ブラウザの互換性

おすすめ記事