I'm trying to read a JSON string written to serial port, using the following code based on `PySerial` library:

```
while True:
    if serial_port.in_waiting > 0:
        buffer = serial_port.readline()
        print('buffer=', buffer)
        ascii = buffer.decode('ascii')
        print('ascii=', ascii)

```

I tried to sniff the data on the port, and got sure that the data gets written fully without any scattering:

```
jpnevulator --ascii --tty "/dev/ttyACM1" --read
7B 22 30 22 3A 31 7D                            {"0":1}
7B 22 30 22 3A 32 7D                            {"0":2}
7B 22 30 22 3A 33 7D                            {"0":3}
7B 22 30 22 3A 34 7D                            {"0":4}
7B 22 30 22 3A 35 7D                            {"0":5}
7B 22 30 22 3A 36 7D                            {"0":6}

```

However the used code results in scattered data read, and therefore shows the following results:

```
buffer= b'{"0'
ascii= {"0
buffer= b'":1}'
ascii= ":1}
buffer= b'{"'
ascii= {"
buffer= b'0":2'
ascii= 0":2
buffer= b'}'
ascii= }

```

Also, when I use `read()` instead of `readline()`, I get the same behavior:

```
buffer= b'{'
data_str= {
buffer= b'"'
data_str= "
buffer= b'3'
data_str= 3
buffer= b'"'
data_str= "
buffer= b':'
data_str= :
buffer= b'1'
data_str= 1
buffer= b'}'
data_str= }

```

I even tried using [another code](https://raw.githubusercontent.com/adamwtow/python-serial-monitor/master/python-serial-monitor.py) that uses the same library, but got the same issue.

I'm not sure why I'm encountering such behavior.