ग्रोवी के साथ शुरू होने वाले टीसीएल डेवलपर के रूप में, मैं ग्रोवी में सूची और मानचित्र समर्थन के बारे में थोड़ा आश्चर्यचकित हूं। शायद मैं यहाँ कुछ याद कर रहा हूँ।ग्रोवी: क्या कोई स्ट्रिंग बॉक्स से बाहर नहीं है?
मुझे फ्लाई पर टीसीएल में स्ट्रिंग्स, सूचियों और सरणी/मानचित्रों के बीच कनवर्ट करने के लिए उपयोग किया जाता है। टीसीएल में,
"['a':2,'b':4]".each {key, value -> println key + " " + value}
संभव होगा, जहां ग्रोवी में, प्रत्येक आदेश स्ट्रिंग के प्रत्येक चरित्र के माध्यम से कदम उठाता है।
यह एक समस्या है कि मैं आसानी से विभाजन या टोकनिज कमांड की तरह कुछ उपयोग कर सकता हूं, लेकिन क्योंकि एक क्रमबद्ध सूची या मानचित्र सिर्फ "ए: 2, बी: 4" नहीं है, यह थोड़ा सा है पार्स करने के लिए कठिन है।
ऐसा लगता है कि ग्रिफ़ोन डेवलपर्स एक स्ट्रिंगटैप लाइब्रेरी (http://code.google.com/p/stringtomap/) का उपयोग करते हैं लेकिन उदाहरण क्रमबद्ध मानचित्रों का सामना नहीं कर सकता है।
तो मेरा सवाल अब है: नक्शा या ग्रोवी में एक सूची का विश्लेषण करने का सबसे अच्छा तरीका क्या है?
चीयर्स, राल्फ
पुनश्च: यह एक ग्रूवी सवाल है, लेकिन मैं grails के साथ टैग किया है, क्योंकि मैं grails के लिए इस कार्यक्षमता जहाँ मैं यूआरएल के माध्यम से नक्शे पास करने के लिए चाहते हैं की जरूरत है
अपडेट: यह अभी भी मेरे लिए एक खुला प्रश्न है ... इसलिए यहाँ जो लोग एक ही समस्या है के लिए कुछ अपडेट कर रहे हैं:
- जब आप एक स्ट्रिंग में एक मानचित्र की बारी है, एक
.toString()
फिर होगा किसी चीज में गले लगाओ जिसे सभी मामलों में किसी मानचित्र में वापस नहीं किया जा सकता है, लेकिन.inspect()
आपको एक स्ट्रिंग देगा जो मानचित्र पर वापस मूल्यांकन किया जा सकता है! Grails में
- , वहाँ एक
.encodeAsJSON()
औरJSON.parse(String)
है - दोनों महान काम करते हैं, लेकिन मैं अभी तक बाहर की जाँच नहीं की है क्या पार्सर JSON कार्य (संभावित सुरक्षा समस्या)
यदि आप grails का उपयोग कर रहे हैं और एक नक्शा चाहते हैं, तो मैं एक JSON संदेश पोस्ट करना चाहता हूं।क्लाइंट साइड पर उत्पन्न करना शायद आसान है और जेएसओएन का मूल्यांकन करने के लिए चीजों में गठित चीजें हैं। –
thanx। जेसन वास्तव में एक बहुत अच्छा विकल्प हो सकता है! – rdmueller
Grails में यूआरएल के माध्यम से नक्शे पास करना यूआरएल मैपिंग के लिए नौकरी की तरह लगता है। Grails उपयोगकर्ता मार्गदर्शिका के एंबेडेड वैरिएबल अनुभाग देखें (खंड 6.4.2)। आप जो भी मानचित्र चाहते हैं उसे पास करने के लिए आप एक कस्टम यूआरएल संरचना को परिभाषित कर सकते हैं, यानी http://myapp.com/controller/action/key1/value1/key2/value2 यह बहु-आयामी मानचित्रों के लिए बहुत अच्छा काम नहीं करेगा , या विशाल डेटा संरचनाएं, लेकिन मैं दलील दूंगा कि उनको यूआरएल के माध्यम से पारित नहीं किया जाना चाहिए। –