Knowledge

Serialization

Source đź“ť

2399:
buffers of bits for writing to the disk. Conversely Pickle.Read reads buffers of bits from the disk and delivers a copy of the original data structure.(*) This conversion involves identifying the occurrences of addresses in the structure, and arranging that when the structure is read back from disk the addresses are replaced with addresses valid in the current execution environment. The pickle mechanism is entirely automatic: it is driven by the run-time typing structures that are present for our garbage collection mechanism. ... (*) Pickling is quite similar to the concept of marshalling in remote procedure calls. But in fact our pickling implementation works only by interpreting at run-time the structure of
1125:(ISO/IEC 13211-1) on pages 59 ff. ("Writing a term, § 7.10.5"). Therefore it is expected that terms serialized-out by one implementation can be serialized-in by another without ambiguity or surprises. In practice, implementation-specific extensions (e.g. SWI-Prolog's dictionaries) may use non-standard term structures, so interoperability may break in edge cases. As examples, see the corresponding manual pages for SWI-Prolog, SICStus Prolog, GNU Prolog. Whether and how serialized terms received over the network are checked against a specification (after deserialization from the character stream has happened) is left to the implementer. Prolog's built-in 1414:– recreates the original object. This scheme is special, in that it uses a procedural description of the object, not the data itself. It is therefore very flexible, allowing for classes to define more compact representations. However, in its original form, it does not handle cyclic data structures or preserve the identity of shared references (i.e. two references a single object will be restored as references to two equal, but not identical copies). For this, various portable and non-portable alternatives exist. Some of them are specific to a particular Smalltalk implementation or class library. There are several ways in 290:), it is possible for the common code to do both at the same time, and thus, 1) detect differences between the objects being serialized and their prior copies, and 2) provide the input for the next such detection. It is not necessary to actually build the prior copy because differences can be detected on the fly, a technique called differential execution. This is useful in the programming of user interfaces whose contents are time-varying â€” graphical objects can be created, removed, altered, or made to handle input events without necessarily having to write separate code to do those things. 401:. Such an encoding can be useful for persistent objects that may be read and understood by humans, or communicated to other systems regardless of programming language. It has the disadvantage of losing the more compact, byte-stream-based encoding, but by this point larger storage and transmission capacities made file size less of a concern than in the early days of computing. In the 2000s, XML was often used for asynchronous transfer of structured data between client and server in 921:, this will be invoked when the object is printed. This is somewhat similar to the method used in Ruby. Lisp code itself is written in the syntax of the reader, called read syntax. Most languages use separate and different parsers to deal with code and data, Lisp only uses one. A file containing lisp code may be read into memory as a data structure, transformed by another program, then possibly executed or written out, such as in a 1435:
However, the Smalltalk/X code is open source and free and can be loaded into other Smalltalks to allow for cross-dialect object interchange. Object serialization is not part of the ANSI Smalltalk specification. As a result, the code to serialize an object varies by Smalltalk implementation. The resulting binary data also varies. For instance, a serialized object created in Squeak Smalltalk cannot be restored in
1086:, respectively, that can clean up and restore an object. For example, it may be desirable to close a database connection on serialization and restore the connection on deserialization; this functionality would be handled in these two magic methods. They also permit the object to pick which properties are serialized. Since PHP 5.1, there is an object-oriented serialization mechanism for objects, the 32: 94: 697:
types, for example, cannot automatically derive Show or Read). The auto-generated instance for Show also produces valid source code, so the same Haskell value can be generated by running the code produced by show in, for example, a Haskell interpreter. For more efficient serialization, there are haskell libraries that allow high-speed serialization in binary format, e.g.
137:) and reconstructed later (possibly in a different computer environment). When the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object. For many complex objects, such as those that make extensive use of 2398:
Our implementation makes use of a mechanism called "pickles", which will convert between any strongly typed data structure and a representation of that structure suitable for storing in permanent disk files. The operation Pickle.Write takes a pointer to a strongly typed data structure and delivers
773:
must also be serialized; and if any object in the complete graph of non-transient object references is not serializable, then serialization will fail. The developer can influence this behavior by marking objects as transient, or by redefining the serialization for an object so that some portion of
1434:
info and include mechanisms for "on the fly" object migration (i.e. to convert instances which were written by an older version of a class with a different object layout). The APIs are similar (storeBinary/readBinary), but the encoding details are different, making these two formats incompatible.
696:
function from which a string representation of the object can be generated. The programmer need not define the functions explicitly—merely declaring a type to be deriving Read or deriving Show, or both, can make the compiler generate the appropriate functions for many cases (but not all: function
1605:
It lets you take an object or group of objects, put them on a disk or send them through a wire or wireless transport mechanism, then later, perhaps on another computer, reverse the process, resurrecting the original object(s). The basic mechanisms are to flatten object(s) into a one-dimensional
975:
functions cannot be transmitted across different programs. (There is a flag to marshal the code position of a function but it can only be unmarshalled in exactly the same program). The standard marshalling functions can preserve sharing and handle cyclic data, which can be configured by a flag.
974:
module may break type guarantees, as there is no way to check whether an unmarshalled stream represents objects of the expected type. In OCaml it is difficult to marshal a function or a data structure which contains a function (e.g. an object which contains a method), because executable code in
764:
private members of a class that are not otherwise accessible. Classes containing sensitive information (for example, a password) should not be serializable nor externalizable. The standard encoding method uses a recursive graph-based translation of the object's class descriptor and serializable
757:
Secondly, the serialized state of an object forms part of its class' compatibility contract. Maintaining compatibility between versions of serializable classes requires additional effort and consideration. Therefore, making a class serializable needs to be a deliberate design decision and not a
255:
Inherent to any serialization scheme is that, because the encoding of the data is by definition serial, extracting one part of the serialized data structure requires that the entire object be read from start to end, and reconstructed. In many applications, this linearity is an asset, because it
784:
components do implement the Serializable interface, they are not guaranteed to be portable between different versions of the Java Virtual Machine. As such, a Swing component, or any component which inherits it, may be serialized to a byte stream, but it is not guaranteed that this will be
726:
interface, but a serializable class can optionally define methods with certain special names and signatures that if defined, will be called as part of the serialization/deserialization process. The language also allows the developer to override the serialization process more thoroughly by
1168:
but unsafe (not secure against erroneous or malicious data) serialization format. Malformed or maliciously constructed data, may cause the deserializer to import arbitrary modules and instantiate any object. The standard library also includes modules serializing to standard data formats:
1514:
cmdlet, which generates a deserialized object from the XML in the exported file. Deserialized objects, often known as "property bags" are not live objects; they are snapshots that have properties, but no methods. Two dimensional data structures can also be (de)serialized in
859:
package offers a more stable alternative, using a documented format and common library with wrappers for different languages, while the default serialization format is suggested to have been designed rather with maximal performance for network communication in mind.
1341:
exception): bindings, procedure objects, instances of class IO, singleton objects and interfaces. If a class requires custom serialization (for example, it requires certain cleanup actions done on dumping / restoring), it can be done by implementing 2 methods:
244:. This means that the simpler and faster procedure of directly copying the memory layout of the data structure cannot work reliably for all architectures. Serializing the data structure in an architecture-independent format means preventing the problems of 256:
enables simple, common I/O interfaces to be utilized to hold and pass on the state of an object. In applications where higher performance is an issue, it can make sense to expend more effort to deal with a more complex, non-linear storage organization.
1439:. Consequently, various applications that do work on multiple Smalltalk implementations that rely on object serialization cannot share data between these different implementations. These applications include the MinneStore object database and some 1361:
object containing all the information necessary to reconstitute objects of this class and all referenced objects up to a maximum depth given as an integer parameter (a value of -1 implies that depth checking should be disabled). The
1699:
Serialization, explained below, is an example of a tool for use by objects within an object system for operating on the graph they are embedded in. This seems to require violating the encapsulation provided by the pure object
1430:. Both provide a so-called "binary-object storage framework", which support serialization into and retrieval from a compact binary form. Both handle cyclic, recursive and shared structures, storage/retrieval of class and 445:
is a strict superset of JSON and includes additional features such as a data type tags, support for cyclic data structures, indentation-sensitive syntax, and multiple forms of scalar data quoting. YAML is an open format.
917:, the printer cannot represent every type of data because it is not clear how to do so. In Common Lisp for example the printer cannot print CLOS objects. Instead the programmer may write a method on the generic function 2444:
Origin of the name 'flattening': Because I want to leave the original 'marshal' module alone, and Jim complained that 'serialization' also means something totally different that's actually relevant in the context of
2449:
access to persistent objects, I'll use the term 'flattening' from now on. ... (The Modula-3 system uses the term 'pickled' data for this concept. They have probably solved all problems already, and in a type-safe
2403:
values, while our RPC implementation works only by generating code for the marshalling of statically typed values. Each facility would benefit from adding the mechanisms of the other, but that has not yet been
1117:. The resulting stream is uncompressed text (in some encoding determined by configuration of the target stream), with any free variables in the term represented by placeholder variable names. The predicate 588:
toolkit for C and C++, are capable of automatically producing serialization code with few or no modifications to class declarations. Other popular serialization frameworks are Boost.Serialization from the
2120:
There are many kinds of serializers; they produce very compact data very fast. There are serializers for messaging, for data stores, for marshaling objects. What is the best serializer in .NET?
263:
objects are too fragile to save because the objects to which they point may be reloaded to a different location in memory. To deal with this, the serialization process includes a step called
54: 482:
For large volume scientific datasets, such as satellite data and output of numerical climate, weather, or ocean models, specific binary serialization standards have been developed, e.g.
1215:, but users can register custom "reduction" and construction functions to support the pickling and unpickling of arbitrary types. Pickle was originally implemented as the pure Python 769:
as well as non-transient, non-static referenced objects are encoded into the stream. Each object that is referenced by the serialized object via a field that is not marked as
722:. Implementing the interface marks the class as "okay to serialize", and Java then handles serialization internally. There are no serialization methods defined on the 236:
For some of these features to be useful, architecture independence must be maintained. For example, for maximal use of distribution, a computer running on a different
2227: 1231:
project. In Python 3, users should always import the standard version, which attempts to import the accelerated version and falls back to the pure Python version.
1023:, there are network safe functions that always store their data in a format that is readable on any computer at a small cost of speed. These functions are named 1003:. Storable includes functions to serialize and deserialize Perl data structures to and from files or Perl scalars. In addition to serializing directly to files, 2279: 809:. Although JSON is originally based on a subset of JavaScript, there are boundary cases where JSON is not valid JavaScript. Specifically, JSON allows the 1329: 1436: 273:, where direct pointer references are converted to references based on name or position. The deserialization process includes an inverse step called 2169: 2649: 415:
is a lightweight plain-text alternative to XML, and is also commonly used for client-server communication in web applications. JSON is based on
580:, as binary data. As such, it is usually trivial to write custom serialization functions. Moreover, compiler-based solutions, such as the ODB 2065: 1479:, or other formats. Default implementations of these protocols can be generated by the compiler for types whose stored properties are also 325:
the serialized data. Yet, interoperability requires that applications be able to understand each other's serialization formats. Therefore,
1195:(with support for the External Data Representation (XDR) standard as described in RFC 1014). Finally, it is recommended that an object's 303: 1949: 2624: 479:
for short, doesn't refer to a single serialization format but instead several different variants, some human-readable and one binary.
554:
family of languages. There are also libraries available that add serialization support to languages that lack native support for it.
2912: 2000: 1541: 637:
provides a built-in mechanism for serialization of components (also called persistent objects), which is fully integrated with its
361: 1126: 2700: 1246:
which writes an ASCII text representation of an R object to a file or connection. A representation can be read from a file using
419:, but is independent of JavaScript and supported in many other programming languages. JSON is an open format, standardized as 302:
by potentially exposing private implementation details. Trivial implementations which serialize all data members may violate
2658: 2115: 941: 729: 218: 2931: 2816: 2531:
Eddelbuettel, Dirk; Stokely, Murray; Ooms, Jeroen (2014). "RProtoBuf: Efficient Cross-Language Data Serialization in R".
715: 569:
do not provide serialization as any sort of high-level construct, but both languages support writing any of the built-in
2340:
Birrell, Andrew; Jones, Mike; Wobber, Ted (November 1987). "A simple and efficient implementation of a small database".
173:
In networking equipment hardware, the part that is responsible for serialization and deserialization is commonly called
1915: 1141: 638: 594: 743: 80: 1671: 1931: 761: 1337:, that is, they effectively become a sequence of bytes. Some objects cannot be serialized (doing so would raise a 1105:
structure, which is the only data structure of the language, can be serialized out through the built-in predicate
1596: 1398:
In general, non-recursive and non-sharing objects can be stored and retrieved in a human readable form using the
1062:
functions. PHP can serialize any of its data types except resources (file pointers, sockets, etc.). The built-in
577: 2576: 688:
type class defines a function that will extract the data from the string representation of the dumped data. The
2768: 2718: 2367: 260: 153: 20: 1885: 634: 581: 543: 531: 156:
an object in some situations. The opposite operation, extracting a data structure from a series of bytes, is
2483: 432: 2891: 1456: 940:. There are also many serializers by third parties. More than a dozen serializers are discussed and tested 922: 844: 375: 287: 138: 855:
modules, intended to work within the same version of Julia, and/or instance of the same system image. The
2693: 1739: 869: 547: 503: 2675:- Binary serialization with partial and random access, type system, RPC, type adaption, and text format 2644: 2432: 2177: 1254:
serializes an R object to a connection, the output being a raw vector coded in hexadecimal format. The
1157: 1443:
packages. A solution to this problem is SIXX, which is a package for multiple Smalltalks that uses an
1510:
serializes .NET objects and stores the resulting XML in a file. To reconstitute the objects, use the
1387: 1304: 1203: 1175:(with built-in support for basic scalar and collection types and able to support arbitrary types via 776:
Java does not use constructor to serialize objects. It is possible to serialize Java objects through
649: 523: 389:
In the late 1990s, a push to provide an alternative to the standard serialization protocols started:
146: 142: 122: 114: 2350: 2293: 1239: 1197: 888:. These two parts of the Lisp implementation are called the Printer and the Reader. The output of " 735:
There are three primary reasons why objects are not serializable by default and must implement the
733:
interface, which includes two special methods that are used to save and restore the object's state.
710: 562: 483: 62: 58: 42: 1176: 1566: 1536: 398: 2420: 1600: 1066:
function is often dangerous when used on completely untrusted data. For objects, there are two "
623: 2731: 2686: 2598: 2345: 2288: 1516: 597:(Microsoft) also provides serialization methodology as part of its Document-View architecture. 222: 2150: 1165: 2806: 2672: 1440: 590: 519: 367: 237: 207: 2936: 2446: 1561: 310: 249: 2501: 282:
Since both serializing and deserializing can be driven from common code (for example, the
8: 2746: 2040: 1067: 1015:
to deserialize such a scalar. This is useful for sending a complex data structure over a
766: 614: 2066:"faster and more compact serialization of symbols and strings · JuliaLang/julia@bb67ff2" 2004: 1031:, etc. There are no "n" functions for deserializing these structures â€” the regular 741:
Firstly, not all objects capture useful semantics in a serialized state. For example, a
2756: 2558: 2540: 2389: 2322: 2271: 1495: 680:
In Haskell, serialization is supported for types that are members of the Read and Show
468: 402: 299: 248:, memory layout, or simply different ways of representing data structures in different 50: 2245: 2209: 2191: 1837: 1690: 1471:), which allow instances of conforming types to be serialized to or deserialized from 2400: 2381: 2373: 2363: 2314: 2306: 1911: 1282: 832:
to appear unescaped in quoted strings, while ECMAScript 2018 and older does not. See
416: 275: 134: 2562: 2393: 2342:
Proceedings of the eleventh ACM Symposium on Operating systems principles - SOSP '87
1309: 1223:
module (also a built-in) offers improved performance (up to 1000 times faster). The
1164:
that records the instructions used to reconstruct the object. It is a cross-version
370:
Courier technology in the early 1980s influenced the first widely adopted standard.
2875: 2550: 2416: 2355: 2326: 2298: 1556: 1551: 1546: 1293: 1208: 833: 719: 665: 424: 371: 2726: 2662: 2655: 2263: 2026: 1606:
stream of bits, and to turn that stream of bits back into the original object(s).
1410:
method generates the text of a Smalltalk expression which – when evaluated using
1351: 1228: 1201:
be evaluable in the right environment, making it a rough match for Common Lisp's
1161: 515: 318: 201: 2465: 1181: 880:". A variable foo containing, for example, a list of arrays would be printed by 428: 2850: 2751: 2267: 2097: 1618: 1207:. Not all object types can be pickled automatically, especially ones that hold 1016: 933: 574: 551: 349: 240:
should be able to reliably reconstruct a serialized data stream, regardless of
110: 2667: 1191: 2925: 2880: 2870: 2763: 2709: 2466:"11.1. pickle — Python object serialization — Python 2.7.14rc1 documentation" 2385: 2377: 2310: 1499: 1476: 1186: 449: 345: 245: 166: 118: 2318: 1426:
serializers. In addition, bundled objects can be stored and retrieved using
1171: 698: 641:. The component's contents are saved to a DFM file and reloaded on-the-fly. 1363: 1011:
function to return a serialized copy of the data packed into a scalar, and
781: 570: 337: 314: 2554: 1122: 925:. Not all readers/writers support cyclic, recursive or shared structures. 810: 436: 2865: 2860: 2823: 2798: 2302: 1576: 1323: 1212: 914: 892:" is human readable; it uses lists demarked by parentheses, for example: 539: 379: 309:
To discourage competitors from making compatible products, publishers of
265: 130: 126: 2678: 2359: 709:
Java provides automatic serialization which requires that the object be
2896: 794: 681: 322: 241: 2584: 2132: 2083: 1713: 1646: 1431: 1258:
function allows to read an object from a connection or a raw vector.
945: 937: 527: 190: 2484:"pickle — Python object serialization — Python v3.0.1 documentation" 1776: 420: 383: 2428: 1571: 453: 326: 197: 61:
external links, and converting useful links where appropriate into
19:
This article is about data structure encoding. For other uses, see
2545: 1861: 1812: 1672:"Python 3.9.6 documentation - Python object serialization —pickle" 970:. While OCaml programming is statically type-checked, uses of the 313:
often keep the details of their programs' serialization formats a
2736: 1932:"Ask TOM "Serializing Java Objects into the database (and ge..."" 457: 1386:
is the most widely used library, or crate, for serialization in
93: 2885: 2843: 2833: 2828: 1415: 1098: 487: 406: 405:
web applications. XML is an open format, and standardized as a
341: 174: 1794: 1418:
to serialize and store objects. The easiest and most used are
1019:
or storing it in a database. When serializing structures with
336:
Many institutions, such as archives and libraries, attempt to
2811: 2773: 1266: 955: 585: 566: 461: 330: 226: 2901: 2855: 2838: 2788: 2778: 2741: 1472: 988: 984: 884:. Similarly an object can be read from a stream named s by 777: 661: 653: 619: 609: 605: 491: 442: 412: 394: 211: 2084:"HDF5.jl: Saving and loading data in the HDF5 file format" 1054:
originally implemented serialization through the built-in
2783: 1597:"C++ FAQ: "What's This "Serialization" Thing All About?"" 1444: 1051: 748: 657: 535: 465: 390: 189:
serializing data for transfer across wires and networks (
2502:"What's New In Python 3.0 — Python v3.1.5 documentation" 141:, this process is not straightforward. Serialization of 2530: 1974: 1292:
provides cross-language data serialization in R, using
1070:
methods" that can be implemented within a class â€”
660:
data. There are also third-party modules that support
2280:
ACM Transactions on Programming Languages and Systems
2272:"A Value Transmission Method for Abstract Data Types" 1219:
module, but, in versions of Python prior to 3.0, the
958:'s standard library provides marshalling through the 872:
data structure can be serialized with the functions "
152:
This process of serializing an object is also called
1382: 1043:" functions and their machine-specific equivalents. 774:
the reference graph is truncated and not serialized.
2098:"Julia: how stable are serialize() / deserialize()" 1759:"s11n.net: object serialization/persistence in C++" 1758: 1281:). Strings and files can be deserialized using the 739:
interface to access Java's serialization mechanism.
2339: 1109:and serialized-in through the built-in predicates 2460: 2458: 129:in primary storage devices) or transmitted (e.g. 45:may not follow Knowledge's policies or guidelines 2923: 1711: 1333:. These methods serialize to the standard class 1137:The core general serialization mechanism is the 522:for doing so. The languages which do so include 652:natively supports unmarshalling/marshalling of 497: 2455: 1144:module, alluding to the database systems term 751:. There is no context in which a deserialized 333:define their serialization formats in detail. 2694: 2262: 397:subset, was used to produce a human-readable 117:state into a format that can be stored (e.g. 2425:Python Programming Language – Legacy Website 2184: 1998: 1908:"Effective Java: Programming Language Guide" 1714:"XDR: External Data Representation Standard" 1039:deserialize structures serialized with the " 991:provide serialization mechanisms, including 2650:Java 1.4 Object Serialization documentation 1813:"GitHub - YAML support for the Go language" 1691:"Safe Serialization Under Mutual Suspicion" 1676:Documentation - The Python Standard Library 760:Lastly, serialization allows access to non- 747:object is tied to the state of the current 608:allows data structures to be serialized to 2701: 2687: 2415: 2708: 2603:SIXX - Smalltalk Instance eXchange in XML 2544: 2349: 2292: 2003:. The timeless repository. Archived from 1992: 1862:"gob package - encoding/gob - pkg.go.dev" 1459:standard library provides two protocols, 145:does not include any of their associated 81:Learn how and when to remove this message 2913:Comparison of data-serialization formats 2001:"JSON: The JavaScript subset that isn't" 1542:Comparison of data serialization formats 362:Comparison of data serialization formats 355: 149:with which they were previously linked. 92: 2645:Java Object Serialization documentation 1641: 1639: 755:object would maintain useful semantics. 298:Serialization breaks the opacity of an 232:detecting changes in time-varying data. 2924: 1321:, akin to the standard Unix utilities 1185:(with support for both binary and XML 780:and store them into a database. While 2682: 2167: 1905: 1899: 1688: 1498:implements serialization through the 1490: 847:implements serialization through the 785:re-constitutable on another machine. 684:. Every type that is a member of the 2625:"Swift Archival & Serialization" 2151:"PHP: Object Serialization - Manual" 2086:. 20 August 2017 – via GitHub. 1636: 1422:and binary storage formats based on 1373:and return an object of this class. 1078: â€” that are called from within 962:module and the Pervasives functions 936:has several serializers designed by 727:implementing another interface, the 348:—by storing them in some relatively 259:Even on a single machine, primitive 219:component-based software engineering 217:distributing objects, especially in 25: 16:Conversion process for computer data 2170:"Shocking News in PHP Exploitation" 2029:. ECMA TC39 committee. 22 May 2018. 913:. In many types of Lisp, including 13: 2344:. Vol. 11. pp. 149–154. 1910:(third ed.). Addison-Wesley. 1519:format using the built-in cmdlets 692:type class, in turn, contains the 593:, the S11n framework, and Cereal. 109:) is the process of translating a 14: 2948: 2638: 1594: 1447:-based format for serialization. 928: 518:elements or providing a standard 1756: 1148:to describe data serialization ( 30: 2617: 2591: 2569: 2533:Journal of Statistical Software 2524: 2518: 2512: 2494: 2476: 2409: 2333: 2256: 2238: 2220: 2202: 2161: 2143: 2125: 2108: 2090: 2076: 2058: 2033: 2019: 1967: 1942: 1924: 1878: 1854: 1830: 1805: 1787: 893: 185:Uses of serialization include: 1769: 1750: 1732: 1705: 1682: 1664: 1619:"Module: Marshal (Ruby 3.0.2)" 1611: 1588: 1250:. More specific, the function 1129:can be applied at that stage. 452:are used for serialization by 21:Serialization (disambiguation) 1: 2168:Esser, Stephen (2009-11-28). 2027:"TC39 Proposal: Subsume JSON" 1582: 1307:includes the standard module 788: 2228:""write_term/[2,3]"" 2210:""Term reading and writing"" 2192:"PHP: Serializable - Manual" 1999:Holm, Magnus (15 May 2011). 1393: 1123:ISO Specification for Prolog 557: 498:Programming language support 376:External Data Representation 293: 288:Microsoft Foundation Classes 7: 2656:Durable Java: Serialization 2421:"Flattening Python Objects" 1530: 1177:encoding and decoding hooks 765:fields into a byte stream. 506:languages directly support 504:object-oriented programming 10: 2953: 2932:Data serialization formats 2668:XML Data Binding Resources 2433:Python Software Foundation 797:has included the built-in 675: 359: 18: 2910: 2797: 2717: 1886:"Text.Show Documentation" 1712:Sun Microsystems (1987). 1132: 1093: 629: 378:(XDR) in 1987. XDR is an 123:secondary storage devices 2661:25 November 2005 at the 1450: 1269:will serialize to file ( 1261: 1156:). Pickle uses a simple 1127:Definite Clause Grammars 950: 839: 834:the main article on JSON 811:Unicode line terminators 344:archives—in particular, 1720:. Network Working Group 1567:Google Protocol Buffers 1537:Commutation (telemetry) 1376: 1299: 1121:is standardized in the 987:modules available from 978: 863: 801:object and its methods 704: 600: 584:system for C++ and the 180: 2577:"MinneStore version 2" 1906:Bloch, Joshua (2018). 1467:(composed together as 1046: 793:Since ECMAScript 5.1, 382:, and standardized as 329:architectures such as 208:remote procedure calls 98: 2555:10.18637/jss.v071.i02 2246:""Term input/output"" 2133:"SERBENCH by aumcode" 1227:was adapted from the 644: 368:Xerox Network Systems 356:Serialization formats 250:programming languages 238:hardware architecture 96: 2303:10.1145/69622.357182 1838:"proto · pkg.go.dev" 1777:"cereal Docs - Main" 1562:Basic Encoding Rules 1234: 923:read–eval–print loop 716:java.io.Serializable 713:by implementing the 508:object serialization 317:. Some deliberately 311:proprietary software 51:improve this article 2419:(1 December 1994). 2360:10.1145/41457.37517 830:PARAGRAPH SEPARATOR 668:. Go also supports 399:text-based encoding 352:serialized format. 271:pointer unswizzling 63:footnote references 2214:www.swi-prolog.org 2116:".NET Serializers" 2045:The Julia Language 1795:"Package encoding" 1496:Windows PowerShell 1491:Windows PowerShell 1420:storeOn:/readFrom: 758:default condition. 437:ISO/IEC 21778:2017 407:W3C recommendation 327:remote method call 300:abstract data type 99: 2919: 2918: 2605:. 23 January 2010 2431:, United States: 2417:van Rossum, Guido 2401:dynamically typed 2137:aumcode.github.io 2102:stackoverflow.com 1936:asktom.oracle.com 1781:uscilab.github.io 1689:S. Miller, Mark. 1595:Cline, Marshall. 1242:has the function 417:JavaScript syntax 276:pointer swizzling 196:storing data (in 135:computer networks 91: 90: 83: 2944: 2876:Protocol Buffers 2703: 2696: 2689: 2680: 2679: 2633: 2632: 2621: 2615: 2614: 2612: 2610: 2595: 2589: 2588: 2583:. Archived from 2573: 2567: 2566: 2548: 2528: 2522: 2516: 2510: 2509: 2498: 2492: 2491: 2480: 2474: 2473: 2462: 2453: 2452: 2441: 2439: 2413: 2407: 2406: 2353: 2337: 2331: 2330: 2296: 2276: 2270:(October 1982). 2264:Herlihy, Maurice 2260: 2254: 2253: 2242: 2236: 2235: 2224: 2218: 2217: 2206: 2200: 2199: 2188: 2182: 2181: 2176:. Archived from 2165: 2159: 2158: 2147: 2141: 2140: 2129: 2123: 2122: 2112: 2106: 2105: 2094: 2088: 2087: 2080: 2074: 2073: 2062: 2056: 2055: 2053: 2051: 2037: 2031: 2030: 2023: 2017: 2016: 2014: 2012: 1996: 1990: 1989: 1987: 1985: 1971: 1965: 1964: 1962: 1960: 1946: 1940: 1939: 1928: 1922: 1921: 1903: 1897: 1896: 1894: 1892: 1882: 1876: 1875: 1873: 1872: 1858: 1852: 1851: 1849: 1848: 1834: 1828: 1827: 1825: 1823: 1809: 1803: 1802: 1791: 1785: 1784: 1773: 1767: 1766: 1754: 1748: 1747: 1736: 1730: 1729: 1727: 1725: 1709: 1703: 1702: 1686: 1680: 1679: 1668: 1662: 1661: 1659: 1657: 1643: 1634: 1633: 1631: 1629: 1615: 1609: 1608: 1599:. Archived from 1592: 1552:Hibernate (Java) 1547:Container format 1526: 1522: 1513: 1509: 1505: 1486: 1482: 1470: 1466: 1462: 1437:Ambrai Smalltalk 1429: 1425: 1421: 1416:Squeak Smalltalk 1413: 1409: 1405: 1401: 1385: 1372: 1368: 1360: 1357:should return a 1356: 1349: 1345: 1340: 1336: 1332: 1326: 1320: 1316: 1312: 1294:Protocol Buffers 1291: 1287: 1280: 1276: 1272: 1257: 1253: 1249: 1245: 1226: 1222: 1218: 1209:operating system 1206: 1200: 1194: 1184: 1174: 1142:standard library 1140: 1120: 1116: 1112: 1108: 1089: 1085: 1081: 1077: 1073: 1065: 1061: 1057: 1042: 1038: 1034: 1030: 1026: 1022: 1014: 1010: 1006: 1002: 998: 994: 973: 969: 965: 961: 920: 912: 911: 908: 905: 902: 899: 896: 891: 887: 883: 879: 875: 858: 854: 850: 831: 828: 826: 821: 818: 816: 808: 807:JSON.stringify() 804: 800: 772: 754: 746: 738: 732: 725: 718: 695: 691: 687: 666:Protocol Buffers 617: 372:Sun Microsystems 202:hard disk drives 86: 79: 75: 72: 66: 34: 33: 26: 2952: 2951: 2947: 2946: 2945: 2943: 2942: 2941: 2922: 2921: 2920: 2915: 2906: 2793: 2713: 2707: 2663:Wayback Machine 2641: 2636: 2623: 2622: 2618: 2608: 2606: 2597: 2596: 2592: 2587:on 11 May 2008. 2575: 2574: 2570: 2529: 2525: 2519: 2513: 2506:docs.python.org 2500: 2499: 2495: 2488:docs.python.org 2482: 2481: 2477: 2470:docs.python.org 2464: 2463: 2456: 2450:manner :-) 2437: 2435: 2414: 2410: 2370: 2351:10.1.1.100.1457 2338: 2334: 2274: 2268:Liskov, Barbara 2261: 2257: 2244: 2243: 2239: 2232:sicstus.sics.se 2226: 2225: 2221: 2208: 2207: 2203: 2190: 2189: 2185: 2166: 2162: 2149: 2148: 2144: 2131: 2130: 2126: 2114: 2113: 2109: 2096: 2095: 2091: 2082: 2081: 2077: 2064: 2063: 2059: 2049: 2047: 2041:"Serialization" 2039: 2038: 2034: 2025: 2024: 2020: 2010: 2008: 1997: 1993: 1983: 1981: 1973: 1972: 1968: 1958: 1956: 1948: 1947: 1943: 1930: 1929: 1925: 1918: 1904: 1900: 1890: 1888: 1884: 1883: 1879: 1870: 1868: 1860: 1859: 1855: 1846: 1844: 1836: 1835: 1831: 1821: 1819: 1811: 1810: 1806: 1801:. 12 July 2021. 1793: 1792: 1788: 1775: 1774: 1770: 1757:beal, stephan. 1755: 1751: 1740:"Serialization" 1738: 1737: 1733: 1723: 1721: 1710: 1706: 1687: 1683: 1670: 1669: 1665: 1655: 1653: 1645: 1644: 1637: 1627: 1625: 1617: 1616: 1612: 1603:on 2015-04-05. 1593: 1589: 1585: 1533: 1524: 1520: 1511: 1507: 1503: 1493: 1484: 1480: 1468: 1464: 1460: 1453: 1427: 1423: 1419: 1411: 1407: 1403: 1399: 1396: 1381: 1379: 1370: 1366: 1358: 1354: 1352:instance method 1347: 1343: 1338: 1334: 1328: 1322: 1318: 1314: 1313:with 2 methods 1308: 1302: 1289: 1285: 1278: 1274: 1270: 1264: 1255: 1251: 1247: 1243: 1237: 1229:Unladen Swallow 1224: 1220: 1216: 1211:resources like 1202: 1196: 1190: 1180: 1170: 1162:virtual machine 1138: 1135: 1118: 1114: 1110: 1106: 1096: 1087: 1083: 1079: 1075: 1071: 1063: 1059: 1055: 1049: 1040: 1036: 1032: 1028: 1024: 1020: 1012: 1008: 1004: 1000: 996: 992: 981: 971: 967: 963: 959: 953: 931: 918: 909: 906: 903: 900: 897: 894: 889: 885: 881: 877: 873: 866: 856: 852: 848: 842: 829: 824: 823: 819: 814: 813: 806: 802: 798: 791: 775: 770: 759: 756: 752: 742: 740: 736: 734: 728: 723: 714: 707: 693: 689: 685: 678: 647: 632: 624:SerializeJSON() 613: 603: 591:Boost Framework 560: 516:syntactic sugar 512:object archival 500: 364: 358: 296: 183: 162:unserialization 160:, (also called 158:deserialization 87: 76: 70: 67: 48: 39:This article's 35: 31: 24: 17: 12: 11: 5: 2950: 2940: 2939: 2934: 2917: 2916: 2911: 2908: 2907: 2905: 2904: 2899: 2894: 2889: 2883: 2878: 2873: 2868: 2863: 2858: 2853: 2848: 2847: 2846: 2836: 2831: 2826: 2821: 2820: 2819: 2809: 2803: 2801: 2795: 2794: 2792: 2791: 2786: 2781: 2776: 2771: 2766: 2761: 2760: 2759: 2754: 2749: 2747:Web Encryption 2739: 2734: 2729: 2723: 2721: 2719:Human readable 2715: 2714: 2706: 2705: 2698: 2691: 2683: 2677: 2676: 2670: 2665: 2653: 2647: 2640: 2639:External links 2637: 2635: 2634: 2629:www.github.com 2616: 2590: 2568: 2523: 2517: 2511: 2493: 2475: 2454: 2408: 2368: 2332: 2294:10.1.1.87.5301 2287:(4): 527–551. 2255: 2237: 2219: 2201: 2183: 2180:on 2012-01-06. 2160: 2142: 2124: 2107: 2089: 2075: 2057: 2032: 2018: 2007:on 13 May 2012 1991: 1966: 1941: 1923: 1917:978-0134685991 1916: 1898: 1877: 1853: 1829: 1804: 1786: 1768: 1749: 1731: 1704: 1681: 1663: 1635: 1610: 1586: 1584: 1581: 1580: 1579: 1574: 1569: 1564: 1559: 1554: 1549: 1544: 1539: 1532: 1529: 1492: 1489: 1477:property lists 1452: 1449: 1424:SmartRefStream 1406:protocol. The 1395: 1392: 1378: 1375: 1369:should take a 1301: 1298: 1263: 1260: 1236: 1233: 1134: 1131: 1095: 1092: 1048: 1045: 1017:network socket 980: 977: 952: 949: 934:.NET Framework 930: 929:.NET Framework 927: 865: 862: 841: 838: 820:LINE SEPARATOR 790: 787: 730:Externalizable 706: 703: 677: 674: 646: 643: 631: 628: 615:<cfwddx> 602: 599: 575:plain old data 559: 556: 499: 496: 490:and the older 450:Property lists 374:published the 360:Main article: 357: 354: 350:human-readable 346:database dumps 295: 292: 234: 233: 230: 215: 210:, e.g., as in 205: 194: 182: 179: 111:data structure 101:In computing, 89: 88: 43:external links 38: 36: 29: 15: 9: 6: 4: 3: 2: 2949: 2938: 2935: 2933: 2930: 2929: 2927: 2914: 2909: 2903: 2900: 2898: 2895: 2893: 2890: 2887: 2884: 2882: 2879: 2877: 2874: 2872: 2871:Property list 2869: 2867: 2864: 2862: 2859: 2857: 2854: 2852: 2849: 2845: 2842: 2841: 2840: 2837: 2835: 2832: 2830: 2827: 2825: 2822: 2818: 2815: 2814: 2813: 2810: 2808: 2805: 2804: 2802: 2800: 2796: 2790: 2787: 2785: 2782: 2780: 2777: 2775: 2772: 2770: 2767: 2765: 2764:Property list 2762: 2758: 2757:Web Signature 2755: 2753: 2750: 2748: 2745: 2744: 2743: 2740: 2738: 2735: 2733: 2730: 2728: 2725: 2724: 2722: 2720: 2716: 2711: 2710:Data exchange 2704: 2699: 2697: 2692: 2690: 2685: 2684: 2681: 2674: 2671: 2669: 2666: 2664: 2660: 2657: 2654: 2651: 2648: 2646: 2643: 2642: 2631:. 2018-12-02. 2630: 2626: 2620: 2604: 2600: 2594: 2586: 2582: 2578: 2572: 2564: 2560: 2556: 2552: 2547: 2542: 2538: 2534: 2527: 2521: 2515: 2507: 2503: 2497: 2489: 2485: 2479: 2471: 2467: 2461: 2459: 2451: 2448: 2434: 2430: 2426: 2422: 2418: 2412: 2405: 2402: 2395: 2391: 2387: 2383: 2379: 2375: 2371: 2365: 2361: 2357: 2352: 2347: 2343: 2336: 2328: 2324: 2320: 2316: 2312: 2308: 2304: 2300: 2295: 2290: 2286: 2282: 2281: 2273: 2269: 2265: 2259: 2251: 2247: 2241: 2233: 2229: 2223: 2215: 2211: 2205: 2197: 2193: 2187: 2179: 2175: 2171: 2164: 2156: 2152: 2146: 2138: 2134: 2128: 2121: 2117: 2111: 2103: 2099: 2093: 2085: 2079: 2071: 2067: 2061: 2046: 2042: 2036: 2028: 2022: 2006: 2002: 1995: 1980: 1976: 1970: 1955: 1951: 1945: 1937: 1933: 1927: 1919: 1913: 1909: 1902: 1887: 1881: 1867: 1863: 1857: 1843: 1839: 1833: 1818: 1814: 1808: 1800: 1796: 1790: 1782: 1778: 1772: 1764: 1760: 1753: 1745: 1744:www.boost.org 1741: 1735: 1719: 1715: 1708: 1701: 1696: 1692: 1685: 1677: 1673: 1667: 1652: 1648: 1642: 1640: 1624: 1620: 1614: 1607: 1602: 1598: 1591: 1587: 1578: 1575: 1573: 1570: 1568: 1565: 1563: 1560: 1558: 1555: 1553: 1550: 1548: 1545: 1543: 1540: 1538: 1535: 1534: 1528: 1518: 1512:Import-CliXML 1508:Export-CliXML 1504:Export-CliXML 1501: 1497: 1488: 1478: 1474: 1458: 1448: 1446: 1442: 1438: 1433: 1428:ImageSegments 1417: 1391: 1389: 1384: 1374: 1365: 1353: 1331: 1325: 1311: 1306: 1297: 1295: 1284: 1268: 1259: 1241: 1232: 1230: 1214: 1210: 1205: 1199: 1193: 1188: 1187:property list 1183: 1178: 1173: 1167: 1163: 1159: 1155: 1154:deserializing 1151: 1147: 1143: 1130: 1128: 1124: 1104: 1100: 1091: 1084:unserialize() 1069: 1064:unserialize() 1060:unserialize() 1053: 1044: 1018: 1007:includes the 990: 986: 976: 957: 948: 947: 943: 939: 935: 926: 924: 916: 904:"x" 871: 861: 853:deserialize() 846: 837: 835: 812: 796: 786: 783: 779: 768: 763: 750: 745: 731: 721: 717: 712: 702: 700: 683: 673: 671: 667: 663: 659: 655: 651: 642: 640: 636: 627: 625: 621: 616: 611: 607: 598: 596: 595:MFC framework 592: 587: 583: 579: 576: 573:, as well as 572: 568: 564: 555: 553: 549: 545: 541: 537: 533: 529: 525: 521: 517: 514:), either by 513: 509: 505: 495: 493: 489: 485: 480: 478: 474: 473:Property list 470: 467: 463: 459: 455: 451: 447: 444: 440: 438: 434: 430: 426: 422: 418: 414: 410: 408: 404: 400: 396: 392: 387: 385: 381: 377: 373: 369: 363: 353: 351: 347: 343: 339: 334: 332: 328: 324: 320: 316: 312: 307: 305: 304:encapsulation 301: 291: 289: 285: 280: 278: 277: 272: 268: 267: 262: 257: 253: 251: 247: 246:byte ordering 243: 239: 231: 228: 224: 220: 216: 213: 209: 206: 203: 199: 195: 192: 188: 187: 186: 178: 176: 171: 169: 168: 167:unmarshalling 163: 159: 155: 150: 148: 144: 140: 136: 132: 128: 124: 120: 116: 112: 108: 107:serialisation 104: 103:serialization 95: 85: 82: 74: 64: 60: 59:inappropriate 56: 52: 46: 44: 37: 28: 27: 22: 2628: 2619: 2607:. Retrieved 2602: 2599:"What's new" 2593: 2585:the original 2580: 2571: 2536: 2532: 2526: 2520: 2514: 2505: 2496: 2487: 2478: 2469: 2443: 2436:. Retrieved 2424: 2411: 2397: 2341: 2335: 2284: 2278: 2258: 2249: 2240: 2231: 2222: 2213: 2204: 2195: 2186: 2178:the original 2173: 2163: 2154: 2145: 2136: 2127: 2119: 2110: 2101: 2092: 2078: 2069: 2060: 2048:. Retrieved 2044: 2035: 2021: 2011:23 September 2009:. Retrieved 2005:the original 1994: 1982:. Retrieved 1979:www.json.org 1978: 1969: 1957:. Retrieved 1954:MDN Web Docs 1953: 1944: 1935: 1926: 1907: 1901: 1889:. Retrieved 1880: 1869:. Retrieved 1865: 1856: 1845:. Retrieved 1841: 1832: 1820:. Retrieved 1816: 1807: 1798: 1789: 1780: 1771: 1762: 1752: 1743: 1734: 1722:. Retrieved 1717: 1707: 1698: 1694: 1684: 1675: 1666: 1654:. Retrieved 1650: 1626:. Retrieved 1623:ruby-doc.org 1622: 1613: 1604: 1601:the original 1590: 1494: 1454: 1397: 1380: 1364:class method 1303: 1265: 1238: 1213:file handles 1204:print-object 1166:customisable 1153: 1149: 1145: 1136: 1119:write_term/3 1107:write_term/3 1102: 1097: 1088:Serializable 1050: 982: 964:output_value 954: 932: 919:print-object 868:Generally a 867: 843: 803:JSON.parse() 792: 737:Serializable 724:Serializable 708: 682:type classes 679: 669: 648: 633: 604: 561: 511: 507: 501: 481: 476: 472: 448: 441: 411: 388: 386:(RFC 4506). 365: 338:future proof 335: 315:trade secret 308: 297: 286:function in 283: 281: 274: 270: 264: 258: 254: 235: 184: 172: 165: 161: 157: 151: 131:data streams 127:data buffers 106: 102: 100: 97:Flow diagram 77: 68: 53:by removing 40: 2937:Persistence 2866:MessagePack 2861:FlatBuffers 2851:Cap'n Proto 2581:SourceForge 2250:gprolog.org 2196:www.php.net 1695:ERights.org 1577:Apache Avro 1283:polymorphic 1256:unserialize 1115:read_term/2 1090:interface. 1080:serialize() 1056:serialize() 968:input_value 915:Common Lisp 882:(print foo) 849:serialize() 618:tag and to 540:Objective-C 380:open format 266:unswizzling 154:marshalling 71:August 2024 2926:Categories 2447:concurrent 2369:089791242X 2155:ca.php.net 1891:15 January 1871:2022-03-04 1866:pkg.go.dev 1847:2021-06-22 1842:pkg.go.dev 1799:pkg.go.dev 1583:References 1557:XML Schema 1525:Export-CSV 1521:Import-CSV 1288:function. 1273:) or to a 1189:formats). 1150:unpickling 1076:__wakeup() 1001:FreezeThaw 795:JavaScript 789:JavaScript 767:Primitives 626:function. 571:data types 550:, and the 469:frameworks 242:endianness 139:references 2752:Web Token 2673:Databoard 2546:1401.7372 2386:476062921 2378:0163-5980 2346:CiteSeerX 2311:0164-0925 2289:CiteSeerX 2174:Suspekt.. 1647:"Marshal" 1485:Encodable 1481:Decodable 1465:Decodable 1461:Encodable 1432:metaclass 1412:readFrom: 1404:readFrom: 1394:Smalltalk 1339:TypeError 1290:RProtoBuf 1252:serialize 1072:__sleep() 938:Microsoft 771:transient 762:transient 720:interface 622:with the 612:with the 558:C and C++ 528:Smalltalk 520:interface 319:obfuscate 294:Drawbacks 284:Serialize 198:databases 191:messaging 55:excessive 2897:uuencode 2659:Archived 2563:36239952 2429:Delaware 2394:12908261 2319:67989840 1984:22 March 1959:22 March 1763:s11n.net 1724:July 11, 1718:RFC 1014 1572:Wikibase 1531:See also 1500:built-in 1408:storeOn: 1400:storeOn: 1279:mold/all 1271:save/all 1198:__repr__ 1182:plistlib 1146:pickling 1037:retrieve 1021:Storable 1005:Storable 997:JSON::XS 993:Storable 983:Several 886:(read s) 502:Several 454:NeXTSTEP 433:ECMA-404 321:or even 221:such as 2737:EDIFACT 2712:formats 2609:25 July 2438:6 April 2327:8126961 2104:. 2014. 2050:25 July 1822:25 July 1656:25 July 1628:25 July 1502:cmdlet 1469:Codable 1330:restore 1310:Marshal 1275:string! 1225:cPickle 1221:cPickle 1160:-based 1029:nfreeze 972:Marshal 960:Marshal 876:" and " 857:HDF5.jl 676:Haskell 578:structs 458:GNUstep 323:encrypt 261:pointer 147:methods 143:objects 49:Please 41:use of 2886:Cyphal 2881:Thrift 2844:UBJSON 2834:Base64 2829:Base32 2799:Binary 2561:  2392:  2384:  2376:  2366:  2348:  2325:  2317:  2309:  2291:  2070:GitHub 1975:"JSON" 1950:"JSON" 1914:  1817:GitHub 1700:model. 1371:String 1359:String 1350:. The 1335:String 1217:pickle 1192:xdrlib 1139:pickle 1133:Python 1111:read/1 1099:Prolog 1094:Prolog 1025:nstore 1009:freeze 944:. and 827: 825:U+2029 817: 815:U+2028 753:Thread 744:Thread 711:marked 699:binary 635:Delphi 630:Delphi 544:Delphi 532:Python 488:netCDF 477:p-list 464:, and 435:, and 427:  421:STD 90 384:STD 67 342:backup 340:their 229:, etc. 175:SerDes 115:object 2812:ASN.1 2774:Rebol 2559:S2CID 2541:arXiv 2539:(2). 2404:done. 2390:S2CID 2323:S2CID 2275:(PDF) 1651:OCaml 1457:Swift 1451:Swift 1383:Serde 1367:_load 1355:_dump 1348:_load 1344:_dump 1267:REBOL 1262:REBOL 1158:stack 1068:magic 956:OCaml 951:OCaml 890:print 878:print 845:Julia 840:Julia 782:Swing 586:gSOAP 475:, or 462:macOS 393:, an 331:CORBA 227:CORBA 200:, on 133:over 119:files 2902:yEnc 2888:DSDL 2856:CBOR 2839:BSON 2824:Avro 2789:YAML 2779:TOML 2742:JSON 2727:Atom 2611:2021 2440:2017 2382:OCLC 2374:ISSN 2364:ISBN 2315:OCLC 2307:ISSN 2052:2021 2013:2016 1986:2018 1961:2018 1912:ISBN 1893:2014 1824:2021 1726:2011 1658:2021 1630:2021 1523:and 1473:JSON 1463:and 1455:The 1388:Rust 1377:Rust 1346:and 1327:and 1324:dump 1319:load 1317:and 1315:dump 1305:Ruby 1300:Ruby 1286:load 1248:dget 1244:dput 1172:json 1152:for 1113:and 1103:term 1082:and 1074:and 1058:and 1035:and 1033:thaw 1013:thaw 999:and 989:CPAN 985:Perl 979:Perl 966:and 946:here 942:here 874:read 870:Lisp 864:Lisp 822:and 805:and 799:JSON 778:JDBC 705:Java 694:show 690:Show 686:Read 670:Gobs 664:and 662:YAML 656:and 654:JSON 620:JSON 610:WDDX 606:CFML 601:CFML 565:and 552:.NET 548:Java 524:Ruby 510:(or 492:GRIB 443:YAML 429:8259 413:JSON 403:Ajax 395:SGML 366:The 212:SOAP 181:Uses 105:(or 2892:XDR 2817:SMI 2807:AMF 2784:XML 2769:RDF 2732:CSV 2551:doi 2356:doi 2299:doi 1517:CSV 1483:or 1445:XML 1441:RPC 1179:). 1101:'s 1052:PHP 1047:PHP 901:2.9 749:JVM 658:XML 639:IDE 582:ORM 567:C++ 536:PHP 484:HDF 466:iOS 431:), 425:RFC 391:XML 269:or 223:COM 170:). 164:or 121:in 113:or 57:or 2928:: 2627:. 2601:. 2579:. 2557:. 2549:. 2537:71 2535:. 2504:. 2486:. 2468:. 2457:^ 2442:. 2427:. 2423:. 2396:. 2388:. 2380:. 2372:. 2362:. 2354:. 2321:. 2313:. 2305:. 2297:. 2283:. 2277:. 2266:; 2248:. 2230:. 2212:. 2194:. 2172:. 2153:. 2135:. 2118:. 2100:. 2068:. 2043:. 1977:. 1952:. 1934:. 1864:. 1840:. 1815:. 1797:. 1779:. 1761:. 1742:. 1716:. 1697:. 1693:. 1674:. 1649:. 1638:^ 1621:. 1527:. 1506:. 1487:. 1475:, 1390:. 1296:. 1027:, 995:, 851:/ 836:. 701:. 672:. 650:Go 645:Go 546:, 542:, 538:, 534:, 530:, 526:, 494:. 486:, 471:. 460:, 456:, 439:. 409:. 306:. 279:. 252:. 225:, 204:). 193:). 177:. 125:, 2702:e 2695:t 2688:v 2652:. 2613:. 2565:. 2553:: 2543:: 2508:. 2490:. 2472:. 2358:: 2329:. 2301:: 2285:4 2252:. 2234:. 2216:. 2198:. 2157:. 2139:. 2072:. 2054:. 2015:. 1988:. 1963:. 1938:. 1920:. 1895:. 1874:. 1850:. 1826:. 1783:. 1765:. 1746:. 1728:. 1678:. 1660:. 1632:. 1402:/ 1277:( 1240:R 1235:R 1041:n 910:) 907:y 898:4 895:( 563:C 423:( 214:. 84:) 78:( 73:) 69:( 65:. 47:. 23:.

Index

Serialization (disambiguation)
external links
improve this article
excessive
inappropriate
footnote references
Learn how and when to remove this message

data structure
object
files
secondary storage devices
data buffers
data streams
computer networks
references
objects
methods
marshalling
unmarshalling
SerDes
messaging
databases
hard disk drives
remote procedure calls
SOAP
component-based software engineering
COM
CORBA
hardware architecture

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑