# How to parse records of a parent with variable number of children into JSON

**URL:** <https://community.make.com/t/how-to-parse-records-of-a-parent-with-variable-number-of-children-into-json/84152>\
**Category:** Questions\
**Tags:** aggregators, json\
**Created:** [June 4, 2025, 7:48pm UTC](https://community.make.com/t/how-to-parse-records-of-a-parent-with-variable-number-of-children-into-json/84152 "2025-06-04T19:48:23Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![samliew](https://dub1.discourse-cdn.com/flex013/user_avatar/community.make.com/samliew/32/13327_2.png) [@samliew](https://community.make.com/u/samliew)\
**Post date:** [June 10, 2025, 6:01am UTC](https://community.make.com/t/how-to-parse-records-of-a-parent-with-variable-number-of-children-into-json/84152/4 "2025-06-10T06:01:50Z")

</div>

Welcome to the Make community!

From your screenshot/output bundle, it appears that you have an **ARRAY** of items. What do you do when you have an **array**?

## “Looping” Through Array Items

When you see an **array** in your module’s output, think of using an **Iterator** module.

In this example, this variable is an **array** of items (collections). You’ll want to map this array in an **Iterator** module.

 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/2/3/23a694ffc3939712667b383fd1b497de5d8afecb.png)  
 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/b/b/bb0162b13bbd34dbfbb41c5c399be413a9b592ec.png)

**Question:** Have you tried mapping your array variable into an Iterator module, ran the scenario once, and view the output?

Next,

## Combining Bundles Using Aggregators

Every result (item/record) from trigger/iterator/list/search/match modules will output a bundle. This can result in multiple bundles, which then trigger multiple operations in future modules (one operation per bundle). To “combine” multiple bundles into a single variable, you’ll need to use an aggregator of some sort.

[Aggregators](https://www.make.com/en/help/modules/aggregator.html) are modules that accumulate multiple bundles into one single bundle. An example of a commonly-used aggregator module is the [**Array aggregator**](https://www.make.com/en/help/tools/flow-control.html#array-aggregator) module. The next popular aggregator is the [**Text Aggregator**](https://www.make.com/en/help/tools/tools.html#text-aggregator) which is very flexible and can apply to many use-cases like building of JSON, CSV, HTML.

You can find out more about the other types of aggregator modules here:

- [Array aggregator](https://www.make.com/en/help/tools/flow-control.html#array-aggregator)
- [Text aggregator](https://www.make.com/en/help/tools/tools.html#text-aggregator)
- [Numeric aggregator](https://www.make.com/en/help/tools/tools.html#numeric-aggregator)
- [Table aggregator](https://www.make.com/en/help/tools/tools.html#table-aggregator)
- [JSON aggregator](https://www.make.com/en/help/tools/json.html#aggregate-to-json)
- [CSV aggregator](https://www.make.com/en/help/apps/file-and-document-management/csv.html#create-csv)
- [Archive (ZIP) aggregator](https://www.make.com/en/help/apps/built-in-apps/archive.html#create-an-archive-973677)
- _other app-specific aggregators_

**Question:** Which is the best aggregator do you think you’ll need for your use-case?

## Example

Here is an example of how your scenario could look like:  
[![Screenshot 2025-06-10 140016](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/d/f/df248fb3860a8d060959acb710cb76a9912bcfee.png)](https://samliew.com/make-expert?Referrer=Make)

 ![Screenshot 2025-06-10 140335](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/6/b/6bb83fbacf59d2552f8d99d07050be9b0101754c.png)

 ![Screenshot 2025-06-10 140443](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/b/2/b2c6f5b292b79a3b05b7f16ae5a68433b7fade68.png)

**Output**

 ![Screenshot 2025-06-10 135950](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/1/e/1e69cae0a9f59c1cff0e4a13eaf7141a7323e262.png)

This is just an example. Your final solution may or may not look like this depending on your requirements and actual data.

For more information, see “[Mapping with arrays](https://help.make.com/mapping-arrays)” in the Help Centre. You should also do the [Make Academy](https://academy.make.com), which also covers the use of [Iterators & Aggregators](https://academy.make.com/courses/IntermediateC01).

## Module Export - quick import into your scenario

You can **copy** and **paste** this module export into your scenario. This will import the modules (with fields/settings/filters) shown in my screenshots above.

1. Move your mouse over the line of code below. Copy the JSON by clicking the copy button on the **right** of the code, which looks like this:  
 ![](https://europe1.discourse-cdn.com/flex013/uploads/make/original/3X/c/8/c84e1e230dccfa07b6d6d27e2c0fecf7dc7a5c32.png)

2. Enter your scenario editor. Press ESC to close any dialogs. Press CTRLV (paste keyboard shortcut for Windows) to paste directly in the editor.

3. Click on each imported module and re-save it for validation. There may be some errors prompting you to remap some variables and connections.

**JSON module export** — paste this directly in your scenario

```json
{"subflows":[{"flow":[{"id":31,"module":"json:ParseJSON","version":1,"parameters":{"type":""},"mapper":{"json":"{\"PersonalInformation\":{\"FamilyName\":\"Tan\",\"GivenName\":\"Sing Show\",\"DateOfBirth\":\"1960-08-29\",\"Occupation\":\"Retired Teacher\",\"FamilyBackground\":{\"MaritalStatus\":{\"Id\":\"143-2\",\"Label\":\"Married\"},\"ChildrenInformation\":[{\"Id\":\"1haZa0\",\"FamilyName\":\"Tan\",\"GivenName\":\"Jun Jun\",\"DateOfBirth\":\"1989-02-01\",\"Gender\":{\"Id\":\"146-1\",\"Label\":\"F\"},\"FullName\":\"Tan Jun Jun\",\"Age\":36,\"ItemNumber\":1},{\"Id\":\"1ziQ2R\",\"FamilyName\":\"Tan\",\"GivenName\":\"May May\",\"DateOfBirth\":\"1992-09-09\",\"Gender\":{\"Id\":\"146-1\",\"Label\":\"F\"},\"FullName\":\"Tan May May\",\"Age\":33,\"ItemNumber\":2}]}}}"},"metadata":{"designer":{"x":1,"y":-1055,"name":"input bundle"},"parameters":[{"name":"type","type":"udt","label":"Data structure"}]}},{"id":32,"module":"builtin:BasicFeeder","version":1,"parameters":{},"mapper":{"array":"{{31.PersonalInformation.FamilyBackground.ChildrenInformation}}"},"metadata":{"designer":{"x":301,"y":-1055}}},{"id":33,"module":"util:TextAggregator","version":1,"parameters":{"rowSeparator":"other","otherRowSeparator":",","feeder":32},"mapper":{"value":"{\r\n \"child_name\": \"{{32.FullName}}\",\r\n \"FamilyName\": \"{{32.FamilyName}}\",\r\n \"GivenName\": \"{{32.GivenName}}\",\r\n \"DOB\": \"{{32.DateOfBirth}}\"\r\n}"},"metadata":{"designer":{"x":545,"y":-1055,"name":"Convert Children"},"parameters":[{"name":"rowSeparator","type":"select","label":"Row separator","validate":{"enum":["\n","\t","other"]}},{"name":"otherRowSeparator","type":"text","label":"Separator"}],"advanced":true}},{"id":34,"module":"util:ComposeTransformer","version":1,"parameters":{},"mapper":{"value":"{\r\n \"parent_name\": \"{{31.PersonalInformation.FamilyName}} {{31.PersonalInformation.GivenName}}\",\r\n \"FamilyName\": \"{{31.PersonalInformation.FamilyName}}\",\r\n \"GivenName\": \"{{31.PersonalInformation.GivenName}}\",\r\n \"children\": [{{33.text}}]\r\n}"},"metadata":{"designer":{"x":789,"y":-1056,"name":"Build JSON","messages":[{"category":"last","severity":"warning","message":"A transformer should not be the last module in the route."}]}}}]}],"metadata":{"version":1}}

```

_Note: Did you know you can reduce the size of blueprints and module export code like the above, using the [Make Blueprint Scrubber](https://community.make.com/t/free-tool-reduce-blueprint-module-export-by-removing-extra-details/50697)?_

Hope this helps! Let me know if there are any further questions or issues. P.S.: investing some effort into the tutorials in the [Make Academy](https://academy.make.com) will save you lots of time and frustration using Make!

— @samliew

---

_[View the full topic](https://community.make.com/t/how-to-parse-records-of-a-parent-with-variable-number-of-children-into-json/84152)._
