Have you tried publishing just the temperature value to the MQTT server instead of the lengthy JSON structure? Are you sure your MQTT server accepts messages of that length? Did you patch the PubSubClient library (it has a default maximum message length of 128)?