JSON is a string
Object is an object
JSON object is not a thing.
The issue you have is you want to combine something from 2 node. Messages NEVER arrive at the input at the same time so you need to use something like a join node.
By input nodes do you mean dashboard text nodes or something else? If they are dashboard fields, if you use a ui_form then you can get both values in one message when Submit is clicked, so you don't need the Join node.
Ive been told this so many times but I thought as the two input node were triggered by the one inject node things would be ok. But this is exactly what's happening.
Thanks for your explanation and demo, that's helped me a lot.