...and unmarshalling/deserializing? Wikipedia's explanation leaves me none-the-wiser! I'm a Java programmer, in case the terminology is used differently in different languages.
Semantics are important here:
Marshalling implies moving the data, it does not imply transforming the data from its native representation or storage. Java Objects can be Marshalled over the wire in their native representation.
Serializing implies transforming the data to some non-native intermediate representation. For example: transforming a Java Object to JSON or XML.
Of course, most systems that Marshal data, Serialize it some some non-native format before they transport it.
This question has been asked before, but on StackOverflow. Here is the link.
Quotation of the answer given by Jeffrey Hantin: