const uint16_t weatherstation2[]
All of those numbers are less than 128 so they can be stored in a byte or int8_t. However I don't think that is going to make a significant saving over the size of the bitmaps you're storing.
I don't see where JSON fits into that code.