msg.payload is an array, you would need to convert it to an object.
so in change node
1 set msg.hold = msg.payload.
2 set msg.payload = {} (select json)
3 set msg.payload.temperature = msg.hold[1]
I thought that but as payload was being overwritten either would do.
Also if you use move the original payload data will be changed also, this will not be an issue if you don't need it later one.