Decoding multiple JSON objects from stream

I am consuming a Stream that provides JSON-encoded objects which are separated by some whitespace, for example

{"id": 1} {"id": 2} {"id": 3}

The problem is, the JsonDecoder will stop after the first parsed Object. In fact, it will throw if there is more than one element:

  final inputs = ['{"id": 1} {"id": 2}'];
  final stream = Stream.fromIterable(inputs).transform(JsonDecoder());
  stream.listen((data) => print(data));

will give

Unhandled exception: FormatException: Unexpected character (at character 11) {"id": 1} {"id": 2}

Is there a way to turn this Stream<String> decoded into a Stream<Map>?

I am using json_serialize later on as well, if this is any help.