# How to change delimiter with json\_lines

**URL:** <https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286>\
**Category:** Logstash\
**Created:** [May 10, 2017, 4:45pm UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286 "2017-05-10T16:45:45Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![henrilabarre](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/henrilabarre/32/16909_2.png) [@henrilabarre](https://discuss.elastic.co/u/henrilabarre)\
**Post date:** [May 10, 2017, 4:45pm UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/1 "2017-05-10T16:45:45Z")

</div>

Hi here is my conf file

```
input {
  elasticsearch {
	hosts => "http://localhost:9200"
	index => "sirene"
	query => '{"query": {"query_string" : {"query": "((DEPET:54 AND provider:sp_mairie) OR (DEPET:55 AND provider:sp_mairie) OR (DEPET:60 AND provider:sp_mairie))"}}}'
  }
}
output {
  csv {
	fields => ["nom", "street", "cp","nomcommune","nom_maire","siteweb","email"]
	path => "/home/2803/public_html/datas/dt_0d83a4d79454b856ab249ca6496b17b1.csv"
  }
  file {
	codec => "json_lines"
	path => "/home/da/public_html/datas/dt_0d83a4d79454b856ab249ca6496b17b1.json"  
  }
}

```

How can change the line demiliter in order to build a valid json file?

thanks

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [May 12, 2017, 5:46am UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/2 "2017-05-12T05:46:00Z")

</div>

How about the `delimiter` option, available since 2.0.4 of the json\_lines plugin?

---

<div class="post-metadata">

**Author:** ![henrilabarre](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/henrilabarre/32/16909_2.png) [@henrilabarre](https://discuss.elastic.co/u/henrilabarre)\
**Post date:** [May 12, 2017, 7:00am UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/3 "2017-05-12T07:00:21Z")

</div>

I try this

```
output {
  file {
	codec => "json_lines"
	delimiter => ","
	path => "/home/data-prospection/public_html/jsondata/57cae745456ab85d4ff76a83ef3f1f0e/dp_577b539512dfa520df2c0a18ffb8482f.json"
  }
}

```

But i have this error

`08:54:27.251 [LogStash::Runner] ERROR logstash.outputs.file - Unknown setting 'delimiter' for file`

Thanks for your help!

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [May 12, 2017, 8:08am UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/4 "2017-05-12T08:08:44Z")

</div>

The option is for the codec and not the file input. Do this instead:

```
codec => json_lines {
  delimiter => ","
}
```

---

<div class="post-metadata">

**Author:** ![henrilabarre](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/henrilabarre/32/16909_2.png) [@henrilabarre](https://discuss.elastic.co/u/henrilabarre)\
**Post date:** [May 12, 2017, 8:24am UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/5 "2017-05-12T08:24:40Z")

</div>

> [@magnusbaeck](#):
>
> codec =\> json\_lines {  
> delimiter =\> ","  
> }

Damned indeed you're right! Thanks

The strange thing is the delimiter also add a "," at the end of the file...

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [May 12, 2017, 8:31am UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/6 "2017-05-12T08:31:23Z")

</div>

> The strange thing is the delimiter also add a "," at the end of the file...

Hmm, well, that actually makes total sense with the default delimiter. Fixing this problem would probably complicate the code quite a bit.

---

<div class="post-metadata">

**Author:** ![henrilabarre](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/henrilabarre/32/16909_2.png) [@henrilabarre](https://discuss.elastic.co/u/henrilabarre)\
**Post date:** [May 12, 2017, 8:36am UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/7 "2017-05-12T08:36:16Z")

</div>

Yep I understand but for the output way of this plugin, this complicate a lot the production of valid json files!

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [May 12, 2017, 9:14am UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/8 "2017-05-12T09:14:11Z")

</div>

Sure, but I wouldn't call either

```
{...},{...}

```

or

```
{...},{...},

```

valid JSON files.

---

<div class="post-metadata">

**Author:** ![henrilabarre](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/henrilabarre/32/16909_2.png) [@henrilabarre](https://discuss.elastic.co/u/henrilabarre)\
**Post date:** [May 12, 2017, 9:21am UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/9 "2017-05-12T09:21:56Z")

</div>

yes I need some brackets around to make the file valid

---

<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 9, 2017, 9:36am UTC](https://discuss.elastic.co/t/how-to-change-delimiter-with-json-lines/85286/10 "2017-06-09T09:36:13Z")

</div>

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