I have a problem understanding a very basic topic with DW: I've read https://docs.mulesoft.com/mule-user-guide/v/4.1/dataweave-formats but to me it does not explain what exactly is meant by "DataWeave can read and write many types of data formats", that is:
1) At what point does DW decide that it is "reading", say, JSON input?
2) How exactly is that decision made, i.e., what in a Mule message determines that input should be read as JSON (payload type? attributes?)?
3) At what point does DW "write", say, JSON output?
4) How exactly does a Mule message that is created from, say, JSON output of a DW script, look like (payload type? attributes?)?