Deserialization
Deserialization is the process of reconstructing structured data or in-memory values from a serialized representation.
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.
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.
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.
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.
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.
Related concepts
- serializationcontrasts with · Serialization is the encoding of structured data or in-memory values into a representation suitable for storage or transmission and later reconstruction.
- JSONuses · JSON is a standardized, language-independent text format for representing structured data using objects, arrays, strings, numbers, Boolean values, and null.
- serdeused by · Serde is a Rust framework for serializing and deserializing data structures across external data formats.
- xmluses · XML is a text-based markup language for encoding structured documents and data using elements, attributes, and nested relationships.
- JSON.parseimplemented by · JSON.parse is a standard JavaScript function that parses a JSON-formatted string into the corresponding JavaScript value.
- clientused by · A client is a person, organization, device, or software component that receives or uses a product, service, resource, or functionality provided by another entity.
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.









