Использование JSON Builder

Я хочу что-то подобное в моем приложении с JSON Builder

new JsonBuilder() {
            persons.collect{
                [
                        name: it.name,
                        age:  it.age,
                        companies: [{
                                        company1: it.company //The company comes from person object.
                                    },
                                    {
                                        company2: it.company
                                    }
                        ]
                ]
            }
        }

Здесь при доступе к компании выдается исключение нулевого указателя, поскольку оно не учитывает итератор человека. Есть ли другой способ сделать это таким образом?

1 ответ

Вы можете определить имя iterator (закрытие имени параметра по умолчанию - it)

new JsonBuilder() {
    persons.collect{person->
        [
            name: person.name,
            age:  person.age,
            companies: [
                {
                    company1: person.company //The company comes from person object.
                },
                {
                    company2: person.company
                }
            ]
        ]
    }
}
Другие вопросы по тегам