How to extract a message JSON value using JSON Input under Kibana Visualization

Just wanted to know if Json Input can be similar to scripted fields so that the fields are only created/generated at visualization time.

This is correct, you can use the JSON input to add a scripted field "on the fly" to your visualization. You can find an example of this in my comment here: