You can't directly load a complex Java object into .Net or vice versa, but you can have equivalent objects in both the client & server, and leverage JSON (as shown in bas' answer) to serialize & transport these objects across your channel.
This means when an object is sent from A -> B, it goes through the following sequence:
- Seralize from managed object in A into JSON
- Send JSON over transport channel from A -> B
- Recieve JSON object as a string at B
- Deseralize the object into a managed object for use by B
Steps 1 & 4 are where something like the NetwonSoft Json.Net library will be a great help for you. Any network protocol can tranport JSON objects along the wire.