पर क्वेरी स्ट्रिंग को Deserialize ?...&foo=bar&...
से बनाने के लिए प्रयास किया गया लेकिन यह गुम हो गया और केवल jQuery.params
पर मिला जो विपरीत है। कृपया कोई सुझाव (अंतर्निहित जावास्क्रिप्ट फ़ंक्शन, jquery, underscore.js - सभी चला जाता है)? या, क्या मुझे इसे अपने आप लागू करने की ज़रूरत है (एक बड़ी परेशानी नहीं, बस पहिया को फिर से शुरू करने की कोशिश नहीं कर रहा है)?जेएसओएन ऑब्जेक्ट
8
A
उत्तर
4
आपके पास बेन आलमैन jQuery BBQ
और jQuery.deparam
है। यह वर्णन किया गया है के रूप में The opposite of jQuery.param, pretty much.
http://benalman.com/code/projects/jquery-bbq/examples/deparam/
पहले उदाहरण आप वास्तव में क्या जरूरत है।
6
मैं यहां अपना कार्य यहां पोस्ट कर रहा हूं अगर अन्य लोग देखेंगे और सीधे इसे सीधे प्राप्त करना चाहते हैं jquery देशी JS की आवश्यकता नहीं है। क्योंकि मैं एक ही बात के लिए देख रहा था और अंत में अन्य लोगों के जवाब देखने के बाद इस समारोह बना दिया:
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
असल @talsibony से ऊपर जवाब खाता क्वेरी स्ट्रिंग सरणियों (जैसे test=1&test=2&test=3&check=wow&such=doge
के रूप में) पर ध्यान नहीं देता। यह मेरा दिया गया है:
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
सरल और सपाट क्वेरी स्ट्रिंग के लिए, कुछ इस तरह चाल
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
}
संबंधित मुद्दे
- 1. जेएसओएन स्ट्रिंग को जेएसओएन ऑब्जेक्ट
- 2. विकिपीडिया एपीआई - जेएसओएन ऑब्जेक्ट
- 3. जेएसओएन को ऑब्जेक्ट
- 4. जावास्क्रिप्ट - जेएसओएन ऑब्जेक्ट
- 5. मोंगो डीबी ऑब्जेक्ट जेएसओएन
- 6. जेएसओआर ऑब्जेक्ट या जेएसओएन स्ट्रिंग
- 7. जेएसओएन
- 8. जेएसओएन
- 9. जेएसओएन-ऑब्जेक्ट को सही तरीके से बनाएं
- 10. जावास्क्रिप्ट ऑब्जेक्ट बनाम एरे बनाम जेएसओएन
- 11. क्या जेएसओएन ऑब्जेक्ट ग्लोबल नोड.जेएस में है?
- 12. जेएसओएन
- 13. जेएसओएन
- 14. जेएसओएन
- 15. जेएसओएन
- 16. जेएसओएन
- 17. जेएसओएन
- 18. जेएसओएन
- 19. जेएसओएन
- 20. जेएसओएन
- 21. जेएसओएन
- 22. जेएसओएन
- 23. जेएसओएन ऑब्जेक्ट्स
- 24. जेएसओएन-फ्रेमवर्क
- 25. जैक्सन जेएसओएन पार्सर का उपयोग: कॉम्प्लेक्स जेएसओएन?
- 26. जेएसओएन-सी
- 27. जेएसओएन स्ट्रिंग
- 28. जेएसओएन संदेश
- 29. जेएसओएन स्कीमा
- 30. यह जांचने के लिए कि क्या ऑब्जेक्ट जेएसओएन स्ट्रिंग
अच्छी तरह से यहाँ क्या करेंगे तुम जाओ: http://stackoverflow.com/questions/901115/get -query-string-values-in-जावास्क्रिप्ट। एक छोटी सी खोज हमेशा मदद करता है। – ggozad
@ggozad: जेएसओएन/ऑब्जेक्ट * में * रूपांतरण के लिए खोज की गई, न केवल * मूल्य प्राप्त करना *। लिंक के लिए धन्यवाद! दुख की बात यह है कि यह फ़ंक्शन कहीं भी jQuery में मानक नहीं है। – BreakPhreak