...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:
|
|||
|
|
|
Marshalling is used in the context of passing variables from one runtime to another (think invoking native code etc.) Serialization is used for encoding objects or object hierarchies for storage or transmission purposes usually in a format that is well understood and cross platform (json, xml, base64). The former is used for inter process or inter-framework communication (java to native code) while the latter is used for storing data or communicating with other applications in a common "language". |
|||
|
|