Ho provato a trovare come effettuare {foo:"bar"}
da ?...&foo=bar&...
ma ho cercato su Google e ottenuto solo per jQuery.params
che fa l'opposto. Qualsiasi suggerimento per favore (funzione javascript integrata, jquery, underscore.js - tutto va)? Oppure, devo implementarlo da solo (non una grande seccatura, solo cercando di non reinventare la ruota)?Deserializzare la stringa di query sull'oggetto JSON
8
A
risposta
4
Hai il numero jQuery BBQ
di Ben Alman e un jQuery.deparam
in esso. E 'descritto come The opposite of jQuery.param, pretty much.
http://benalman.com/code/projects/jquery-bbq/examples/deparam/
primo esempio è esattamente quello che ti serve.
6
Sto postando qui la mia funzione nel caso in cui altri appariranno e vorranno andare avanti senza bisogno di JS jQuery nativo. Perché stavo cercando la stessa cosa e finalmente fatto questa funzione dopo aver visto altre risposte:
function queryStringToJSON(queryString) {
if(queryString.indexOf('?') > -1){
queryString = queryString.split('?')[1];
}
var pairs = queryString.split('&');
var result = {};
pairs.forEach(function(pair) {
pair = pair.split('=');
result[pair[0]] = decodeURIComponent(pair[1] || '');
});
return result;
}
console.log(queryStringToJSON(window.location.href));
console.log(queryStringToJSON('test=1&check=wow'));//Object {test: "1", check: "wow"}
6
In realtà la risposta di cui sopra da @talsibony non tiene array di stringhe di query account (ad esempio test=1&test=2&test=3&check=wow&such=doge
). Questa è la mia realizzazione:
function queryStringToJSON(qs) {
qs = qs || location.search.slice(1);
var pairs = qs.split('&');
var result = {};
pairs.forEach(function(p) {
var pair = p.split('=');
var key = pair[0];
var value = decodeURIComponent(pair[1] || '');
if(result[key]) {
if(Object.prototype.toString.call(result[key]) === '[object Array]') {
result[key].push(value);
} else {
result[key] = [ result[key], value ];
}
} else {
result[key] = value;
}
});
return JSON.parse(JSON.stringify(result));
};
1
per stringhe di query semplici e piane, qualcosa come questo farà il trucco
const queryStringToObject = (queryString) => {
let obj = {}
if(queryString) {
queryString.slice(1).split('&').map((item) => {
const [ k, v ] = item.split('=')
v ? obj[k] = v : null
})
}
return obj
}
Problemi correlati
- 1. Deserializzare la stringa JSON in C# senza utilizzare la riflessione
- 2. errore quando si cerca di deserializzare stringa JSON con json.Net
- 3. come deserializzare stringa JSON di opporsi lista in C# dot
- 4. Come deserializzare i dati JSON?
- 5. Deserializzare JSON in Java enum
- 6. Come deserializzare l'array JSON?
- 7. deserializzare un JSON CookieCollection serializzato
- 8. Deserializzare le primitive JSON con la libreria Ruby JSON integrata
- 9. deserializzare una stringa JSON a un oggetto in python
- 10. Deserializzare con Json.Net, deserializzare l'oggetto secondario in stringa/simile che contiene il json?
- 11. Ricezione oggetto deserializzare JSON come stringa nel controllore API Web
- 12. come deserializzare JSON in asp.net
- 13. Come serializzare e deserializzare automaticamente la stringa JSON utilizzando JPA e Hibernate?
- 14. JSON.NET: serializza la proprietà della stringa json nell'oggetto json
- 15. Come deserializzare JSON (multi livello) in C#
- 16. Deserializzare JSON su oggetto anonimo utilizzando JSON.NET
- 17. Deserializzare solo determinati tag JSON con Jackson
- 18. C# .net come deserializzare l'oggetto complesso di JSON
- 19. Deserializzare oggetti JSON in controller MVC Asp.Net
- 20. deserializzare una matrice JSON utilizzando xstream
- 21. Come deserializzare un array JSON utilizzando Newtonsoft.Json
- 22. Impossibile deserializzare l'array JSON in tipo - Json.NET
- 23. Deserializzare un oggetto JSON in Fabric.js
- 24. Come deserializzare un array JSON usando Gson
- 25. ColdFusion: QUERY to JSON
- 26. La stringa di SQLite contiene un'altra stringa di query
- 27. Convalida stringa di query JSON come parametro di query utilizzando Joi
- 28. Deserializzazione stringa JSON nell'oggetto VB.net
- 29. GSON deserializzare matrice JSON con più tipi di oggetti
- 30. Deserializzare JSON in modo ricorsivo su IDictionary <stringa, oggetto>
bene qui si va: http://stackoverflow.com/questions/901115/get -query-string-values-in-javascript. Una piccola ricerca aiuta sempre. – ggozad
@ggozad: cercato * una conversione in JSON/object *, non solo * ottenendo valori *. grazie per il link! purtroppo questa funzione non è standard da qualche parte in jQuery o giù di lì. – BreakPhreak