Сериализация объекта в строку запроса в JavaScript / jQuery [дубликат]



этот вопрос уже есть ответ здесь:




  • Запрос-строку кодировки JavaScript-объекта

    28 ответов



Я пытаюсь найти информацию о том, как сериализовать объект в формат строки запроса, но все мои поиски тонут в результатах о том, как пойти другим путем (string/form/whatever to JSON).



I есть



{ one: 'first', two: 'second' }


и я хочу!--3-->


?one=first&two=second


есть хороший способ сделать это? Я не против плагинов или еще чего - то-если код, который я нахожу, не является плагином, я, вероятно, перепишу его в любом случае...

570   4  

4 ответов:

вы хотите $.param(): http://api.jquery.com/jQuery.param/

в частности, вы хотите это:

var data = { one: 'first', two: 'second' };
var result = $.param(data);

когда дают что-то вроде этого:

{a: 1, b : 23, c : "te!@#st"}

$.param отвечу на это:

a=1&b=23&c=te!%40%23st

для быстрой функции, отличной от JQuery...

function jsonToQueryString(json) {
    return '?' + 
        Object.keys(json).map(function(key) {
            return encodeURIComponent(key) + '=' +
                encodeURIComponent(json[key]);
        }).join('&');
}

Примечание это не обрабатывает массивы или вложенные объекты.

другой вариант может быть node-querystring.

Он доступен в обоих npm и bower, вот почему я использую его.

альтернативно Юи имеет http://yuilibrary.com/yui/docs/api/classes/QueryString.html#method_stringify.

например:

var data = { one: 'first', two: 'second' };
var result = Y.QueryString.stringify(data);

Comments

    Ничего не найдено.