akka/akka-core

JsonObjectParser rejects some valid JSON Array streams

Open

#25,673 opened on Sep 21, 2018

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Scala (3,547 forks)batch import
3 - in progresshelp wantedt:stream

Repository metrics

Stars
 (13,277 stars)
PR merge metrics
 (Avg merge 8d 19h) (10 merged PRs in 30d)

Description

When attempting to feed the following entity:

   [ "abc", "def", "ghi", "klm" ]

(which is a valid JSON Array, even though not of objects) to an Akka HTTP endpoint that specifies the

entity(asSourceOf[String]) { source ⇒ … }

directive, JsonObjectParser fails to parse and provide a Source[ByteString, _] that can be demarshalled as JsValues and eventually strings.

Furthermore, while using the directive for that usage might be slower than using a dedicated framing primitive, it's a bit dangerous that the "obvious path" compiles but fails to work. (incoming PR)

Contributor guide