| 744 | } |
| 745 | |
| 746 | Status WriteChildren(const FieldVector& fields, |
| 747 | const std::vector<std::shared_ptr<Array>>& arrays) { |
| 748 | // NOTE: the Java parser fails on an empty "children" member (ARROW-11483). |
| 749 | if (fields.size() == 0) return Status::OK(); |
| 750 | |
| 751 | writer_->Key("children"); |
| 752 | writer_->StartArray(); |
| 753 | for (auto [field, array] : Zip(fields, arrays)) { |
| 754 | RETURN_NOT_OK(VisitArray(field->name(), *array)); |
| 755 | } |
| 756 | writer_->EndArray(); |
| 757 | return Status::OK(); |
| 758 | } |
| 759 | |
| 760 | Status Visit(const NullArray& array) { |
| 761 | SetNoChildren(); |