Skip to content

JSON Serialization docs #14208

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 57 commits into from
Sep 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
68b00b2
draft
tdykstra Sep 4, 2019
98b0d05
draft
tdykstra Sep 4, 2019
86f8efa
draft
tdykstra Sep 4, 2019
f09408e
draft
tdykstra Sep 4, 2019
22f1b57
draft
tdykstra Sep 4, 2019
4afe3c7
draft
tdykstra Sep 4, 2019
669ff9b
draft
tdykstra Sep 5, 2019
116570e
draft
tdykstra Sep 5, 2019
493f108
draft
tdykstra Sep 5, 2019
a8b7fa0
reorg toc
tdykstra Sep 5, 2019
7566c33
draft
tdykstra Sep 5, 2019
97be475
draft
tdykstra Sep 5, 2019
0d3ced8
Fix link
tdykstra Sep 6, 2019
e274d78
consolidate some h2s
tdykstra Sep 9, 2019
95f988c
Merge branch 'stj' of https://github.com/tdykstra/dotnet-docs into stj
tdykstra Sep 9, 2019
8b59b89
fix links
tdykstra Sep 9, 2019
d819c15
add casing info
tdykstra Sep 9, 2019
a96ec72
fix ppty case to correspond to text
tdykstra Sep 9, 2019
20ef2f2
JsonExtensionData
tdykstra Sep 11, 2019
74fed4d
fix link
tdykstra Sep 11, 2019
616eff9
minor additions
tdykstra Sep 11, 2019
32840ed
rename articles
tdykstra Sep 12, 2019
2e674ba
fix links
tdykstra Sep 12, 2019
48ff755
fix link
tdykstra Sep 12, 2019
314aa6c
add info from issues
tdykstra Sep 12, 2019
b542eea
minor fixes and additions
tdykstra Sep 12, 2019
efaeaed
UTF-8 clarification
tdykstra Sep 13, 2019
9271151
minor wording change
tdykstra Sep 13, 2019
9f5aaa3
add link
tdykstra Sep 13, 2019
0994f9c
add "or string"
tdykstra Sep 13, 2019
47014bf
add 'and later'
tdykstra Sep 13, 2019
3763f01
feedback
tdykstra Sep 13, 2019
ecde327
Merge branch 'stj' of https://github.com/tdykstra/dotnet-docs into stj
tdykstra Sep 13, 2019
1a57828
wording change
tdykstra Sep 13, 2019
207e44c
feedback
tdykstra Sep 13, 2019
7503f62
Merge branch 'stj' of https://github.com/tdykstra/dotnet-docs into stj
tdykstra Sep 13, 2019
98981e9
fix link
tdykstra Sep 13, 2019
6f73117
deserialize from UTF-8
tdykstra Sep 13, 2019
ccb4faa
add under construction banner
tdykstra Sep 13, 2019
3302c6d
fix wording
tdykstra Sep 13, 2019
e455a9c
make h2s consistent
tdykstra Sep 13, 2019
6fd3d3d
Update docs/standard/serialization/index.md
tdykstra Sep 13, 2019
f2b907b
Update docs/standard/serialization/index.md
tdykstra Sep 13, 2019
5337e49
Update docs/standard/serialization/index.md
tdykstra Sep 13, 2019
3ccbaf6
Update docs/standard/serialization/system-text-json-how-to.md
tdykstra Sep 13, 2019
bd5bad7
Update docs/standard/serialization/system-text-json-how-to.md
tdykstra Sep 13, 2019
61d9423
Update docs/standard/serialization/system-text-json-how-to.md
tdykstra Sep 13, 2019
db500cc
Update docs/standard/serialization/system-text-json-how-to.md
tdykstra Sep 13, 2019
043b37c
Update docs/standard/serialization/system-text-json-how-to.md
tdykstra Sep 13, 2019
e71c58d
Update docs/standard/serialization/system-text-json-how-to.md
tdykstra Sep 13, 2019
2387991
Update docs/standard/serialization/system-text-json-overview.md
tdykstra Sep 13, 2019
409503c
add 'versions'
tdykstra Sep 13, 2019
4a135fd
nix round-trip as verb
tdykstra Sep 13, 2019
963e576
Update docs/standard/serialization/system-text-json-how-to.md
tdykstra Sep 13, 2019
3e6244f
reorg github issue links
tdykstra Sep 14, 2019
61711f6
Merge branch 'stj' of https://github.com/tdykstra/dotnet-docs into stj
tdykstra Sep 14, 2019
15e9668
feedback on example intro wording
tdykstra Sep 14, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 15 additions & 22 deletions docs/standard/serialization/index.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,35 @@
---
title: "Serialization in .NET"
ms.date: "03/30/2017"
title: "Serialization - .NET"
ms.date: "09/02/2019"
helpviewer_keywords:
- "JSON serialization"
- "XML serialization, defined"
- "binary serialization"
- "serializing objects"
- "serialization"
- "objects, serializing"
ms.assetid: 4d1111c0-9447-4231-a997-96a2b74b3453
---

# Serialization in .NET
Serialization is the process of converting the state of an object into a form that can be persisted or transported. The complement of serialization is deserialization, which converts a stream into an object. Together, these processes allow data to be easily stored and transferred.

.NET features two serialization technologies:

Serialization is the process of converting the state of an object into a form that can be persisted or transported. The complement of serialization is deserialization, which converts a stream into an object. Together, these processes allow data to be stored and transferred.

- Binary serialization preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. For example, you can share an object between different applications by serializing it to the Clipboard. You can serialize an object to a stream, to a disk, to memory, over the network, and so forth. Remoting uses serialization to pass objects "by value" from one computer or application domain to another.
.NET features the following serialization technologies:

- XML serialization serializes only public properties and fields and does not preserve type fidelity. This is useful when you want to provide or consume data without restricting the application that uses the data. Because XML is an open standard, it is an attractive choice for sharing data across the Web. SOAP is likewise an open standard, which makes it an attractive choice.
- [Binary serialization](binary-serialization.md) preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. For example, you can share an object between different applications by serializing it to the Clipboard. You can serialize an object to a stream, to a disk, to memory, over the network, and so forth. Remoting uses serialization to pass objects "by value" from one computer or application domain to another.

## In This Section
[Serialization How-to Topics](../../../docs/standard/serialization/serialization-how-to-topics.md)
Lists links to How-to topics contained in this section.
- [XML and SOAP serialization](xml-and-soap-serialization.md) serializes only public properties and fields and does not preserve type fidelity. This is useful when you want to provide or consume data without restricting the application that uses the data. Because XML is an open standard, it is an attractive choice for sharing data across the Web. SOAP is likewise an open standard, which makes it an attractive choice.

[Binary Serialization](../../../docs/standard/serialization/binary-serialization.md)
Describes the binary serialization mechanism that is included with the common language runtime.

[XML and SOAP Serialization](../../../docs/standard/serialization/xml-and-soap-serialization.md)
Describes the XML and SOAP serialization mechanism that is included with the common language runtime.

[Serialization Tools](../../../docs/standard/serialization/serialization-tools.md)
These tools help develop serialization code.

[Serialization Samples](../../../docs/standard/serialization/serialization-samples.md)
The samples demonstrate how to do serialization.
- [JSON serialization](system-text-json-overview.md) serializes only public properties and does not preserve type fidelity. JSON is an open standard that is an attractive choice for sharing data across the web.

## Reference
<xref:System.Runtime.Serialization>

<xref:System.Runtime.Serialization>
Contains classes that can be used for serializing and deserializing objects.

<xref:System.Xml.Serialization>
Contains classes that can be used to serialize objects into XML format documents or streams.

<xref:System.Text.Json>
Contains classes that can be used to serialize objects into JSON format documents or streams.
Loading