# Error parsing json in Logstash

**URL:** https://discuss.elastic.co/t/error-parsing-json-in-logstash/93813
**Category:** Logstash
**Created:** [July 19, 2017, 4:51pm UTC](https://discuss.elastic.co/t/error-parsing-json-in-logstash/93813 "2017-07-19T16:51:26Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![camarar](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/camarar/32/20476_2.png) [@camarar](https://discuss.elastic.co/u/camarar)
#### Post date: [July 19, 2017, 4:51pm UTC](https://discuss.elastic.co/t/error-parsing-json-in-logstash/93813/1 "2017-07-19T16:51:27Z")

</div>

Dear,

I would like receive help to solve my problem...  
I have this error for all event:  
_exception=\>#\<LogStash::Json::ParserError: Unexpected character ('-' (code 45)): Expected space separating root-level values_

My event is not a json format.  
I receive all messagens from beats and I split the message using ruby code.

Logstash version is 5.1.2.

My logstash filter config:

ruby {  
code =\> "  
message\_array = event.get('message').split(' || ')  
header\_array = message\_array[0].split(' - ')  
event.set('timestamp', header\_array[0])  
event.set('servico', header\_array[1])  
event.set('operacao', header\_array[2])  
event.set('requestId', header\_array[3])  
body\_array = message\_array[1].split(' - ')  
for field in body\_array  
result = field.split(':')  
event.set(result[0], result[1])  
end  
event.remove('message')  
message\_array.clear  
header\_array.clear  
body\_array.clear  
"  
}

My logstash input config:  
input {  
beats {  
port =\> 5003  
}  
}

Complete error in logstash log file:  
[2017-07-19T13:32:09,626][WARN][logstash.filters.json] Error parsing json {:source=\>"message", :raw=\>"19-07-2017 13:31:54.086 - GXXXXXXXXo - OXXXXXo - UUID || tempoResposta:265 - httpStatusResposta:200", :exception=\>#\<LogStash::Json::ParserError: Unexpected character ('-' (code 45)): Expected space separating root-level values  
at [Source: [B@3ef62c48; line: 1, column: 4]\>}

ps: UUID format is like this example "XXXXXXXXX-XXXX-XXXX-XXXXXXXX"

---

<div class="post-metadata">

### Author: ![camarar](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/camarar/32/20476_2.png) [@camarar](https://discuss.elastic.co/u/camarar)
#### Post date: [July 19, 2017, 5:55pm UTC](https://discuss.elastic.co/t/error-parsing-json-in-logstash/93813/2 "2017-07-19T17:55:36Z")

</div>

This problem is not happening now.

I have 5 pipelines in the same logstash and one of them didn't have an if clause in filter block.

Logstash have a behavior that if you don't put a if clause in filter block, you receive messages from others pipelines.

---

<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: [August 16, 2017, 5:55pm UTC](https://discuss.elastic.co/t/error-parsing-json-in-logstash/93813/3 "2017-08-16T17:55:42Z")

</div>

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