Szeregowanie groovy mapy do łańcucha z cudzysłowami

Próbuję utrwalić dobrą mapę do pliku. Moja obecna próba polega na zapisaniu reprezentacji ciągu, a następnie odczytaniu go i wywołaniuevaluate na niej, aby odtworzyć mapę, gdy będę gotowy do jej ponownego użycia.

Mam problem z tym, żetoString() metoda mapy usuwa istotne cytaty z wartości elementów. Kiedy oceniam mój kod, narzeka on na nieznany identyfikator.

Ten kod demonstruje problem:

m = [a: 123, b: 'test']
print "orig: $m\n"

s = m.toString()
print " str: $s\n"

m2 = evaluate(s)
print " new: ${m2}\n"

Pierwsze dwie instrukcje drukowania prawie działają - ale cytaty wokół wartości kluczab zniknęli. Zamiast pokazywać[a: 123, b: 'test'], to pokazuje[a: 123, b: test].

W tym momencie szkoda zostanie wykonana. Theevaluate dławienie wywołania, gdy próbuje ocenićtest jako identyfikator, a nie łańcuch.

Tak więc moje konkretne pytania:

Czy jest lepszy sposób na serializację / de-serializację map w Groovy?Czy istnieje sposób na utworzenie reprezentacji łańcuchowej mapy z odpowiednimi cudzysłowami?

questionAnswers(2)

yourAnswerToTheQuestion