liveBook · Manning

Deserialization

Deserialization is the process of reconstructing structured data or in-memory values from a serialized representation.

How 10 Manning books explain it

Kotlin in Action, 2E

Deserialization is the process of reconstructing objects or other in-memory data from a serialized representation.

How it is used
Uses JSON input to create Kotlin objects, from small factories to a reflection-based library pipeline.
How deep it goes
Traces lexer, parser, object seeds, reflection-based constructor calls, type conversion, validation, and reflection caching.
Examples
Uses Person, Author, and Book JSON inputs, plus annotated property names and excluded optional values.
What you can do after
Evaluate/understand how a Kotlin JSON deserializer parses input, converts values, and constructs objects through reflection.

Read how Kotlin in Action, 2E explains deserialization →

Data-Oriented Programming: Reduce software complexity

Deserialization is the conversion of a serialized representation back into structured data, including JSON text in the JSON-specific sense.

How it is used
Uses deserialization to turn JSON inputs, captured debugging data, and test fixtures into structures that program logic can inspect.
How deep it goes
Defines the conversion and demonstrates JSON.parse, Immutable.fromJS, debugger workflows, and fixture loading, but does not discuss parser internals.
Examples
Uses search JSON, Watchmen data, Immutable.js collections, copied nested maps, and captured catalog fixtures as teaching examples.
What you can do after
Apply it via JSON.parse to inspect JSON, compare parsed test results, restore immutable collections, and reload captured data.

Read how Data-Oriented Programming: Reduce software complexity explains deserialization →

Go in Practice, Second Edition

Unmarshaling is the process of converting a serialized representation into in-memory data structures.

How it is used
Turns persistent JSON configuration and REST payloads into Go values, with a custom INI decoder illustrating the same operation.
How deep it goes
Works from JSON file decoding through a reflection-based INI Unmarshal; the custom implementation is limited to structs and supported field kinds.
Examples
Uses JSON bytes decoded into a typed value and a tagged Processes struct reconstructed from key-value lines.
What you can do after
Build it from scratch for tagged INI structs or apply encoding/json to load configuration into a Go struct.

Read how Go in Practice, Second Edition explains deserialization →

Building User-Friendly DSLs

The reconstruction of structured in-memory data from a stored or transferred representation.

How it is used
Restores persisted or HTTP-transferred AST JSON so a frontend can retrieve and use a saved model.
How deep it goes
Works through depth-first reconstruction, lookup tables, deferred reference resolution, and observable handling for circular AST references.
Examples
Uses saved JSON contents, an Attribute Reference to a Data Attribute, and a circular self-reference AST.
What you can do after
Build it from scratch by traversing serialized AST data, indexing objects by ID, and resolving references afterward.

Read how Building User-Friendly DSLs explains deserialization →

Kafka for Architects

Deserialization is the process of converting serialized bytes into structured data according to a schema or agreed data format.

How it is used
Turns polled Kafka message bytes into structures a consumer can process.
How deep it goes
Explains client configuration, the polling workflow, schema lookup, and failure handling without a low-level deserializer implementation.
Examples
Uses matching integer-key and string-value configurations and schema-ID-based decoding to illustrate format agreement.
What you can do after
Operate/configure it by matching consumer deserializers to producer formats and planning for malformed messages.

Read how Kafka for Architects explains deserialization →

Go in Action, Second Edition

Unmarshaling is the process of reconstructing an in-memory value from a serialized representation.

How it is used
Converts structured input into Go values for configuration validation and JSON/XML conversion.
How deep it goes
Works through JSON struct mapping, pointer-based unmarshaling, type checks, and custom validation without descending into decoder internals.
Examples
Uses a server configuration JSON file, its tagged Go struct, and Host validation through a custom unmarshaler.
What you can do after
Apply it via encoding/json to decode configuration bytes into typed values and add domain-specific validation.

Read how Go in Action, Second Edition explains deserialization →

Latency

Deserialization is the conversion of a stored or transmitted representation back into in-memory data structures or objects.

How it is used
Uses deserialization to restore networked or stored data for application processing and to identify avoidable latency work.
How deep it goes
Explains the transformation, CPU and memory-copy costs, service data flow, and a byte-level Rust example without detailing parser implementation.
Examples
Uses an online-store order moving between a Rust struct, JSON, storage, and binary RPC formats.
What you can do after
Diagnose deserialization as a latency bottleneck by locating its timing, redundant transformations, CPU use, and memory-copy overhead.

Read how Latency explains deserialization →

Troubleshooting Java, Second Edition

Deserialization is the process of reconstructing structured data from a serialized byte representation.

How it is used
Diagnoses service-communication failures caused by incompatible serialized data and independently evolving contracts.
How deep it goes
Explains reconstruction, mismatch symptoms, and compatibility concerns without detailing deserializer internals.
Examples
Uses added JSON fields, renamed Protobuf enums, Java version identifiers, and an Order message schema.
What you can do after
Diagnose dropped data, default values, and errors by comparing evolving schemas and receiver models.

Read how Troubleshooting Java, Second Edition explains deserialization →

Refactoring to Rust

Deserialization is the conversion of a stored or transmitted representation into in-memory program values.

How it is used
Parses JSON objects into typed Rust data structures for subsequent program logic.
How deep it goes
Explains generic traits, derived implementations, type inference, dependency setup, successful parsing, and runtime type errors.
Examples
Uses name-and-value JSON objects, derived Data structs, compiler errors, runtime type errors, and a Python comparison.
What you can do after
Apply it via serde_json to parse JSON strings into typed Rust values and use their fields.

Read how Refactoring to Rust explains deserialization →

Learn PowerShell in a Month of Lunches: Fourth Edition, Covers Windows, Linux, and macOS

Deserialization is the conversion of a stored or transmitted representation back into an in-memory object or data structure.

How it is used
Supports PowerShell remoting by converting remote command output into locally usable data.
How deep it goes
Explains XML conversion, snapshots, and action limits, but stops short of internal serialization mechanics.
Examples
Demonstrates remote process filtering and contrasts transmitting filtered results with filtering deserialized results locally.
What you can do after
Apply it via PowerShell remoting by filtering remote data before transmission and treating received objects as reports or stored data.

Read how Learn PowerShell in a Month of Lunches: Fourth Edition, Covers Windows, Linux, and macOS explains deserialization →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.