This may be just me, but when dealing with complex messages - I easily get confused (and then spend time trying to work out why I can't access a property) by the debug indentation
When I first look at this example, its saying to me that deviceSerialNumber / name deviceType etc are properties of description
I think this because they are indented.to same level as description
Is this just me?
Could they be made to be at the same indentation as the > symbol before description e.g.
The difference might be the icon more than the arrow indicating that there is more to find?
I trapped in the same pit as @cymplecy from time to time.
The ident is not the only solution, perhaps printing objects and arrays bold could help.
The inconsistency is at the top level. In your example host is contained within ping and is indented two spaces, so are indented three from the down arrow. However payload, topic and ping are contained with the top level but are only indented one from the top level object arrow.