1. ホーム
  2. javascript

jsonをurlパラメータに変換するネイティブな関数はありますか?

2023-08-25 22:04:54

質問

私は、jsonオブジェクトを次のようなurlフォームに変換する必要があります: "パラメータ=12&asd=1"。

私はこれでやった。

        var data = {
            'action':'actualiza_resultado',
            'postID': 1,
            'gl': 2,
            'gl2' : 3
        };

        var string_=JSON.stringify(data);

        string_=string_.replace(/{/g, "");
        string_=string_.replace(/}/g, "");
        string_=string_.replace(/:/g, "=")
        string_=string_.replace(/,/g, "&");
        string_=string_.replace(/"/g, "");

しかし、私はjavascriptまたはJSONオブジェクトでこれを行うための関数があるのだろうか?

どのように解決するのですか?

jQueryが提供する param があり、まさにそれを行うことができます。もしjqueryを使っていないのなら ソース .

基本的には、このようになります。

url = Object.keys(data).map(function(k) {
    return encodeURIComponent(k) + '=' + encodeURIComponent(data[k])
}).join('&')

2019年更新 : 組み込みオブジェクトが追加されました。 URLSearchParams があります。

let myParams = {'foo': 'hi there', 'bar': '???'};

let u = new URLSearchParams(myParams).toString();

console.log(u);