Indeed. For the record though, the "old fashioned" way of doing this is to add a checksum to each returned record. Something as simple as a character count works just as well if the line lengths are reasonably predictable. But yes, JSON is fine and I took to using it a long time back - as mentioned I simply drop anything that gets corrupted in-transit - of course, that relies on their being another record of the same type being sent in not too long a time-frame. This is absolutely fine for sensor platforms.
Just filter it out at the Arduino end - another reading will be along shortly. I don't know how rapidly you are reading the sensors, I read mine about once per minute so missing a reading gives two minutes between updates - still far more than I really need. I could easily halve that and still have a perfectly fine system.
If you get repeated NaN readings, set the output to a number that you know cannot be true. I tend to use -99. Easily good enough unless you are working with cryogenics - and then the DHT's wouldn't be much use In truth, the DHT sensors are rubbish and I stopped using them a while back when alternatives dropped in price. I use digital sensors now like the BME/BMP 280 which are a lot more accurate, recover better from extreme readings, don't drift over time and are more responsive.
Honestly, unless you are doing some other really heavy processing on the Arduino, even a Nano has more than enough umph to do this kind of simple processing and it saves all this faffing around.
If you really want to keep the NaN values, you will have to surround them with double-quotes either on the Arduino or in your flow before it hits the JSON node. In my view, that is more work and is less robust. Do it on the Arduino in a function so that you can easily ditch it if you ever upgrade the sensor.
Because it is wrong and you might want to raise an issue against it. Or ditch it and set up the JSON manually, not hard to do with a simple function and a lot lighter on Arduino resources - giving you more than enough back to do the simple processing that I've outlined.