Bir tcl geliştirici olarak groovy ile başlayan, ben liste ve harita desteği hakkında groovy biraz şaşırıyorum. Belki burada bir şey özlüyorum.Groovy: kutunun dışında bir stringToMap yok mu?
Ben tcl dizeleri, listeler ve diziler/haritalar arasında dönüştürmek için kullanıyorum. tcl mümkün olacağını
"['a':2,'b':4]".each {key, value -> println key + " " + value}
gibi bir şey, nerede harika olduğu gibi, dizenin her karakter ile her komut adımları.
Bu bir sorun olabilir, split veya tokenize komutu gibi bir şeyi kolayca kullanabilirdim, ancak seri hale getirilmiş bir liste veya harita yalnızca "a: 2, b: 4" değil, birazcık ayrıştırmak daha zor.
Griffon geliştiricilerinin bir stringToMap kitaplığı kullandığı anlaşılıyor (http://code.google.com/p/stringtomap/) ancak örnek, seri hale getirilmiş haritalarla da baş edemiyor.
Bu yüzden sorum şu: Bir haritayı veya listeyi mükemmel bir şekilde ayrıştırmanın en iyi yolu nedir?
Alkış, Ralf
PS: Bu gelenekselleşmiş bir soru, ama ben URL üzerinden haritalar geçmek istiyorum grails için bu işlevi gerektiğinden, grails ile etiketlediniz
Güncelleme: bir Dizesi'ne bir harita açtığınızda
- , bir
.toString()
yeniden olacaktır: Bu işte aynı sorun var olanlar için bazı güncelleştirmeler vardır ... hala benim için açık bir sorudur Her durumda bir haritaya geri döndürülemeyen bir şeye sığdırın, ancak bir.inspect()
size bir haritayı değerlendirebileceğiniz bir String verecektir! Grails - , bir
.encodeAsJSON()
veJSON.parse(String)
var - iki büyük çalışır, ancak ben ayrıştırıcı JSON fonksiyonları (olası güvenlik sorunu)
Eğer grails kullanıyorsanız ve bir harita istiyorsanız, bir JSON mesajını POST'ye bakmak istiyorum.İstemci tarafında daha kolay bir şekilde üretilmesi daha kolay ve JSON'u değerlendirmek için bir şeyler inşa edildi. –
thanx. json gerçekten çok iyi bir alternatif olabilir! – rdmueller
Haritaları Grails'deki URL'den geçirme, URL eşlemeleri için bir iş gibi ses çıkarır. Grails kullanım kılavuzunun Gömülü Değişkenler bölümüne bakın (bölüm 6.4.2). İstediğiniz haritayı iletmek için özel bir URL yapısı tanımlayabilirsiniz, örneğin, http://myapp.com/controller/action/key1/value1/key2/value2 Çok boyutlu haritalar için çok iyi çalışmaz ya da devasa veri yapıları, ama ben yine de bunların URL'lerle aktarılmaması gerektiğini iddia ediyorum. –