Javascript konvertieren query-string zu JSON mit jQuery und zurück zum Abfrage-string
Hoffen, Sie finden folgende Funktion nützlich für die Umwandlung von query-string in json-Objekt
var queryStringToJSON = function (url) {
if (url === '')
return '';
var pairs = (url || location.search).slice(1).split('&');
var result = {};
for (var idx in pairs) {
var pair = pairs[idx].split('=');
if (!!pair[0])
result[pair[0].toLowerCase()] = decodeURIComponent(pair[1] || '');
}
return result;
}
Verwendung:
Bekommen aktuelle windows-query-string
var result = queryStringToJSON() //without any parameter
Bekommen json von custom query string:
var result = queryStringToJSON('?name=prem&age=30&HEIGHT=5.8')
Ausgabe: {name:"prem", age:"30", height:"5.8"} //All keys are converted into small letters
Konvertieren es zurück zur url, die Sie verwenden können jQuery param Methode
$.param(result)
Manipulieren Sie Ihre query-string können Sie einfach verwenden standard-Objekt-manipulation in JavaScript und verwenden Sie $.param-Methode wieder
result.age=35;
delete result['name'];
- Also, was ist Ihre Frage?
- er postete gerade seine nützliche Funktion, um anderen zu helfen... also keine Frage hier...
- Warum fand ich das in "Fragen" Bereich?
- Danke @premChandaraSingh
- Dies scheint nicht zu arbeiten mit array ' s: eg: ?=name=Tom&name=Jeff
Du musst angemeldet sein, um einen Kommentar abzugeben.
Arbeiten, aber wenn Sie verwendet werden
url || location.search
dann sollten Sie entfernenif(url === '') return ''
oder sollte es so sein,location.search
im Einklangvar pairs = (url || location.search).slice(1).split('&');
Alternativ... Statt:
Versuchen:
Funktioniert auf die gleiche, verwendet aber
reduce()
eine native javascript-Funktion, ist wahrscheinlich schneller.