# Split json array into multiple documents

**URL:** <https://discuss.elastic.co/t/split-json-array-into-multiple-documents/332789>\
**Category:** Logstash\
**Created:** [May 8, 2023, 7:00am UTC](https://discuss.elastic.co/t/split-json-array-into-multiple-documents/332789 "2023-05-08T07:00:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![manramu22](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/manramu22/32/120741_2.png) [@manramu22](https://discuss.elastic.co/u/manramu22)\
**Post date:** [May 8, 2023, 7:00am UTC](https://discuss.elastic.co/t/split-json-array-into-multiple-documents/332789/1 "2023-05-08T07:00:38Z")

</div>

Hi Logstash community,

I have the following json coming from http\_poller. I want to split that into multiple json documents and feed into Elasticsearch. Pls suggest json filter or split. Thanks in advance

Input JSON

```auto
{
    "result": [
        {
			"fname": "A",
			"lname": "B"
         },
		 {
			"fname": "C",
			"lname": "D"
         },
		 {
			"fname": "E",
			"lname": "F"
         }
    ]
}

```

Expected Document1:

```auto
 {
			"fname": "A",
			"lname": "B"
         }

```

Expected Document2:

```auto
{
			"fname": "C",
			"lname": "D"
         }

```

Expected Document3:

```auto
{
			"fname": "E",
			"lname": "F"
         }

```

---

<div class="post-metadata">

**Author:** ![Priscilla\_Parodi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/priscilla_parodi/32/43047_2.png) [@Priscilla\_Parodi](https://discuss.elastic.co/u/Priscilla_Parodi)\
**Post date:** [May 31, 2023, 12:35am UTC](https://discuss.elastic.co/t/split-json-array-into-multiple-documents/332789/2 "2023-05-31T00:35:04Z")

</div>

Hello @manramu22,

Welcome to the community!

You can consider using the [split filter plugin](https://www.elastic.co/guide/en/logstash/current/plugins-filters-split.html). The field being split can either be a string or an array.

In your Logstash pipeline, it would be something like:

```auto
filter {
   split {
     field => "result"
   }
}

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [June 28, 2023, 12:35am UTC](https://discuss.elastic.co/t/split-json-array-into-multiple-documents/332789/3 "2023-06-28T00:35:14Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
