Groovy では木構造が次の形で表現できるらしい。 def tree = { [:].withDefault{ owner.call() } } def users = tree() users.harold.username = 'hrldcpr' users.yates.username = 'tim' def json = new groovy.json.JsonBuilder(users).toString() assert json == '{"harold":{"username":"hrldcpr"},"yates":{"username":"tim"}}' これは harold cooper 氏の Python One Liner を def tree(): return defaultdict(tree) Tim Yates 氏が Groovy に翻訳して def tr