# Storing JSON array field from jdbc input to elastic search

**URL:** https://discuss.elastic.co/t/storing-json-array-field-from-jdbc-input-to-elastic-search/182357
**Category:** Logstash
**Created:** [May 23, 2019, 6:30am UTC](https://discuss.elastic.co/t/storing-json-array-field-from-jdbc-input-to-elastic-search/182357 "2019-05-23T06:30:20Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Sayed\_Atif](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sayed_atif/32/46687_2.png) [@Sayed\_Atif](https://discuss.elastic.co/u/Sayed_Atif)
#### Post date: [May 23, 2019, 6:30am UTC](https://discuss.elastic.co/t/storing-json-array-field-from-jdbc-input-to-elastic-search/182357/1 "2019-05-23T06:30:20Z")

</div>

My configuration file has a filter which converts majors field

```
filter {
  json {
    source => "majors"
    remove_field => ["majors"]
  }
}

```

I get following debug event

```
{
          "user_id" => 1529067,
        "school_id" => 1458,
       "cluster_id" => 39,
      "degree_type" => "Bachelor's Degree",
       "@timestamp" => 2019-05-23T06:21:16.782Z,
       "updated_at" => 2018-10-18T05:27:57.000Z,
           "majors" => "[\"Accounting\"]",
           "hub_id" => 39,
       "deleted_at" => nil,
    "import_status" => "joined",
         "@version" => "1"
}

```

looks like majors is a parsed string and on saving to elastic search it saves as a string. I want it to save it as an array. How can I achieve it?? or is it needed to convert the field to array from parsed string?

Thanks in advance

---

<div class="post-metadata">

### Author: ![Badger](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/badger/32/25190_2.png) [@Badger](https://discuss.elastic.co/u/Badger)
#### Post date: [May 23, 2019, 3:05pm UTC](https://discuss.elastic.co/t/storing-json-array-field-from-jdbc-input-to-elastic-search/182357/2 "2019-05-23T15:05:14Z")

</div>

What does the input event look like?

---

<div class="post-metadata">

### Author: ![Sayed\_Atif](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sayed_atif/32/46687_2.png) [@Sayed\_Atif](https://discuss.elastic.co/u/Sayed_Atif)
#### Post date: [May 24, 2019, 5:35am UTC](https://discuss.elastic.co/t/storing-json-array-field-from-jdbc-input-to-elastic-search/182357/3 "2019-05-24T05:35:53Z")

</div>

I am using jdbc-input and passing data from Postgres to elastic. My statement looks like.

```
statement => "select a.user_id, a.hub_id, a.import_status, a.updated_at, a.deleted_at, b.cluster_id, c.school_id, c.degree_type, c.majors::text
      from user_hubs a
      join user_clusters b on a.user_id = b.user_id
      join user_schools c on a.user_id = c.user_id
      where a.hub_id = 39 and b.cluster_id = 39 and a.updated_at > :sql_last_value;"

```

where major is a JSON array. I need to save it as an array casting it to text save it as a string in elastic.

---

<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 21, 2019, 5:35am UTC](https://discuss.elastic.co/t/storing-json-array-field-from-jdbc-input-to-elastic-search/182357/4 "2019-06-21T05:35:55Z")

</div>

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