Auto Generated Documentation
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><meta name="keywords" content="rust, rustlang, rust-lang"><title>List of all items in this crate</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate serde_json</p><div class="block version"><p>Version 1.0.64</p></div><a id="all-types" href="index.html"><p>Back to index</p></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">List of all items</span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span>
|
||||
</span>
|
||||
</h1><h3 id="Structs">Structs</h3><ul class="structs docblock"><li><a href="struct.Deserializer.html">Deserializer</a></li><li><a href="struct.Error.html">Error</a></li><li><a href="struct.Map.html">Map</a></li><li><a href="struct.Number.html">Number</a></li><li><a href="struct.Serializer.html">Serializer</a></li><li><a href="struct.StreamDeserializer.html">StreamDeserializer</a></li><li><a href="de/struct.Deserializer.html">de::Deserializer</a></li><li><a href="de/struct.IoRead.html">de::IoRead</a></li><li><a href="de/struct.SliceRead.html">de::SliceRead</a></li><li><a href="de/struct.StrRead.html">de::StrRead</a></li><li><a href="de/struct.StreamDeserializer.html">de::StreamDeserializer</a></li><li><a href="error/struct.Error.html">error::Error</a></li><li><a href="map/struct.IntoIter.html">map::IntoIter</a></li><li><a href="map/struct.Iter.html">map::Iter</a></li><li><a href="map/struct.IterMut.html">map::IterMut</a></li><li><a href="map/struct.Keys.html">map::Keys</a></li><li><a href="map/struct.Map.html">map::Map</a></li><li><a href="map/struct.OccupiedEntry.html">map::OccupiedEntry</a></li><li><a href="map/struct.VacantEntry.html">map::VacantEntry</a></li><li><a href="map/struct.Values.html">map::Values</a></li><li><a href="map/struct.ValuesMut.html">map::ValuesMut</a></li><li><a href="ser/struct.CompactFormatter.html">ser::CompactFormatter</a></li><li><a href="ser/struct.PrettyFormatter.html">ser::PrettyFormatter</a></li><li><a href="ser/struct.Serializer.html">ser::Serializer</a></li><li><a href="value/struct.Number.html">value::Number</a></li><li><a href="value/struct.Serializer.html">value::Serializer</a></li></ul><h3 id="Enums">Enums</h3><ul class="enums docblock"><li><a href="enum.Value.html">Value</a></li><li><a href="error/enum.Category.html">error::Category</a></li><li><a href="map/enum.Entry.html">map::Entry</a></li><li><a href="ser/enum.CharEscape.html">ser::CharEscape</a></li><li><a href="value/enum.Value.html">value::Value</a></li></ul><h3 id="Traits">Traits</h3><ul class="traits docblock"><li><a href="de/trait.Read.html">de::Read</a></li><li><a href="ser/trait.Formatter.html">ser::Formatter</a></li><li><a href="value/trait.Index.html">value::Index</a></li></ul><h3 id="Macros">Macros</h3><ul class="macros docblock"><li><a href="macro.json.html">json</a></li></ul><h3 id="Functions">Functions</h3><ul class="functions docblock"><li><a href="de/fn.from_reader.html">de::from_reader</a></li><li><a href="de/fn.from_slice.html">de::from_slice</a></li><li><a href="de/fn.from_str.html">de::from_str</a></li><li><a href="fn.from_reader.html">from_reader</a></li><li><a href="fn.from_slice.html">from_slice</a></li><li><a href="fn.from_str.html">from_str</a></li><li><a href="fn.from_value.html">from_value</a></li><li><a href="ser/fn.to_string.html">ser::to_string</a></li><li><a href="ser/fn.to_string_pretty.html">ser::to_string_pretty</a></li><li><a href="ser/fn.to_vec.html">ser::to_vec</a></li><li><a href="ser/fn.to_vec_pretty.html">ser::to_vec_pretty</a></li><li><a href="ser/fn.to_writer.html">ser::to_writer</a></li><li><a href="ser/fn.to_writer_pretty.html">ser::to_writer_pretty</a></li><li><a href="fn.to_string.html">to_string</a></li><li><a href="fn.to_string_pretty.html">to_string_pretty</a></li><li><a href="fn.to_value.html">to_value</a></li><li><a href="fn.to_vec.html">to_vec</a></li><li><a href="fn.to_vec_pretty.html">to_vec_pretty</a></li><li><a href="fn.to_writer.html">to_writer</a></li><li><a href="fn.to_writer_pretty.html">to_writer_pretty</a></li><li><a href="value/fn.from_value.html">value::from_value</a></li><li><a href="value/fn.to_value.html">value::to_value</a></li></ul><h3 id="Typedefs">Typedefs</h3><ul class="typedefs docblock"><li><a href="type.Result.html">Result</a></li><li><a href="error/type.Result.html">error::Result</a></li></ul></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,87 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `from_reader` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, from_reader"><title>serde_json::de::from_reader - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">de</a></p><div id="sidebar-vars" data-name="from_reader" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">de</a>::<wbr><a class="fn" href="">from_reader</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/de.rs.html#2497-2503" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn from_reader<R, T>(rdr: R) -> <a class="type" href="../../serde_json/type.Result.html" title="type serde_json::Result">Result</a><T> <span class="where fmt-newline">where<br> R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,<br> T: <a class="trait" href="../../serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a>, </span></pre><div class="docblock"><p>Deserialize an instance of type <code>T</code> from an IO stream of JSON.</p>
|
||||
<p>The content of the IO stream is deserialized directly from the stream
|
||||
without being buffered in memory by serde_json.</p>
|
||||
<p>When reading from a source against which short reads are not efficient, such
|
||||
as a <a href="https://doc.rust-lang.org/std/fs/struct.File.html"><code>File</code></a>, you will want to apply your own buffering because serde_json
|
||||
will not buffer the input. See <a href="https://doc.rust-lang.org/std/io/struct.BufReader.html"><code>std::io::BufReader</code></a>.</p>
|
||||
<p>It is expected that the input stream ends after the deserialized object.
|
||||
If the stream does not end, such as in the case of a persistent socket connection,
|
||||
this function will not return. It is possible instead to deserialize from a prefix of an input
|
||||
stream without looking for EOF by managing your own <a href="../../serde_json/struct.Deserializer.html" title="Deserializer"><code>Deserializer</code></a>.</p>
|
||||
<p>Note that counter to intuition, this function is usually slower than
|
||||
reading a file completely into memory and then applying <a href="./fn.from_str.html"><code>from_str</code></a>
|
||||
or <a href="./fn.from_slice.html"><code>from_slice</code></a> on it. See <a href="https://github.com/serde-rs/json/issues/160">issue #160</a>.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<p>Reading the contents of a file.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fs</span>::<span class="ident">File</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">io</span>::<span class="ident">BufReader</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">path</span>::<span class="ident">Path</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">read_user_from_file</span><span class="op"><</span><span class="ident">P</span>: <span class="ident">AsRef</span><span class="op"><</span><span class="ident">Path</span><span class="op">></span><span class="op">></span>(<span class="ident">path</span>: <span class="ident">P</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">User</span>, <span class="ident">Box</span><span class="op"><</span><span class="kw">dyn</span> <span class="ident">Error</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="comment">// Open the file in read-only mode with buffer.</span>
|
||||
<span class="kw">let</span> <span class="ident">file</span> <span class="op">=</span> <span class="ident">File</span>::<span class="ident">open</span>(<span class="ident">path</span>)<span class="question-mark">?</span>;
|
||||
<span class="kw">let</span> <span class="ident">reader</span> <span class="op">=</span> <span class="ident">BufReader</span>::<span class="ident">new</span>(<span class="ident">file</span>);
|
||||
|
||||
<span class="comment">// Read the JSON contents of the file as an instance of `User`.</span>
|
||||
<span class="kw">let</span> <span class="ident">u</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_reader</span>(<span class="ident">reader</span>)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="comment">// Return the `User`.</span>
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">u</span>)
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="kw">let</span> <span class="ident">u</span> <span class="op">=</span> <span class="ident">read_user_from_file</span>(<span class="string">"test.json"</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">u</span>);
|
||||
}</pre></div>
|
||||
<p>Reading from a persistent socket connection.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">net</span>::{<span class="ident">TcpListener</span>, <span class="ident">TcpStream</span>};
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">read_user_from_stream</span>(<span class="ident">tcp_stream</span>: <span class="ident">TcpStream</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">User</span>, <span class="ident">Box</span><span class="op"><</span><span class="kw">dyn</span> <span class="ident">Error</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">de</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">Deserializer</span>::<span class="ident">from_reader</span>(<span class="ident">tcp_stream</span>);
|
||||
<span class="kw">let</span> <span class="ident">u</span> <span class="op">=</span> <span class="ident">User</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">de</span>)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">u</span>)
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="kw">let</span> <span class="ident">listener</span> <span class="op">=</span> <span class="ident">TcpListener</span>::<span class="ident">bind</span>(<span class="string">"127.0.0.1:4000"</span>).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="kw">for</span> <span class="ident">stream</span> <span class="kw">in</span> <span class="ident">listener</span>.<span class="ident">incoming</span>() {
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">read_user_from_stream</span>(<span class="ident">stream</span>.<span class="ident">unwrap</span>()));
|
||||
}
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if the structure of the input does not match the
|
||||
structure expected by <code>T</code>, for example if <code>T</code> is a struct type but the input
|
||||
contains something other than a JSON map. It can also fail if the structure
|
||||
is correct but <code>T</code>'s implementation of <code>Deserialize</code> decides that something
|
||||
is wrong with the data, for example required struct fields are missing from
|
||||
the JSON map or some number is too big to fit in the expected primitive
|
||||
type.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `from_slice` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, from_slice"><title>serde_json::de::from_slice - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">de</a></p><div id="sidebar-vars" data-name="from_slice" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">de</a>::<wbr><a class="fn" href="">from_slice</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/de.rs.html#2540-2545" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn from_slice<'a, T>(v: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> <a class="type" href="../../serde_json/type.Result.html" title="type serde_json::Result">Result</a><T> <span class="where fmt-newline">where<br> T: <a class="trait" href="../../serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'a>, </span></pre><div class="docblock"><p>Deserialize an instance of type <code>T</code> from bytes of JSON text.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The type of `j` is `&[u8]`</span>
|
||||
<span class="kw">let</span> <span class="ident">j</span> <span class="op">=</span> <span class="string">b"
|
||||
{
|
||||
\"fingerprint\": \"0xF9BA143B95FF6D82\",
|
||||
\"location\": \"Menlo Park, CA\"
|
||||
}"</span>;
|
||||
|
||||
<span class="kw">let</span> <span class="ident">u</span>: <span class="ident">User</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="ident">j</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">u</span>);
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if the structure of the input does not match the
|
||||
structure expected by <code>T</code>, for example if <code>T</code> is a struct type but the input
|
||||
contains something other than a JSON map. It can also fail if the structure
|
||||
is correct but <code>T</code>'s implementation of <code>Deserialize</code> decides that something
|
||||
is wrong with the data, for example required struct fields are missing from
|
||||
the JSON map or some number is too big to fit in the expected primitive
|
||||
type.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `from_str` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, from_str"><title>serde_json::de::from_str - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">de</a></p><div id="sidebar-vars" data-name="from_str" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">de</a>::<wbr><a class="fn" href="">from_str</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/de.rs.html#2582-2587" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn from_str<'a, T>(s: &'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="type" href="../../serde_json/type.Result.html" title="type serde_json::Result">Result</a><T> <span class="where fmt-newline">where<br> T: <a class="trait" href="../../serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'a>, </span></pre><div class="docblock"><p>Deserialize an instance of type <code>T</code> from a string of JSON text.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The type of `j` is `&str`</span>
|
||||
<span class="kw">let</span> <span class="ident">j</span> <span class="op">=</span> <span class="string">"
|
||||
{
|
||||
\"fingerprint\": \"0xF9BA143B95FF6D82\",
|
||||
\"location\": \"Menlo Park, CA\"
|
||||
}"</span>;
|
||||
|
||||
<span class="kw">let</span> <span class="ident">u</span>: <span class="ident">User</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_str</span>(<span class="ident">j</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">u</span>);
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if the structure of the input does not match the
|
||||
structure expected by <code>T</code>, for example if <code>T</code> is a struct type but the input
|
||||
contains something other than a JSON map. It can also fail if the structure
|
||||
is correct but <code>T</code>'s implementation of <code>Deserialize</code> decides that something
|
||||
is wrong with the data, for example required struct fields are missing from
|
||||
the JSON map or some number is too big to fit in the expected primitive
|
||||
type.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `de` mod in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, de"><title>serde_json::de - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module de</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div><p class="location"><a href="../index.html">serde_json</a></p><div id="sidebar-vars" data-name="de" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">serde_json</a>::<wbr><a class="mod" href="">de</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/de.rs.html#1-2587" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Deserialize JSON data to a Rust data structure.</p>
|
||||
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
|
||||
<table><tr class="module-item"><td><a class="struct" href="struct.Deserializer.html" title="serde_json::de::Deserializer struct">Deserializer</a></td><td class="docblock-short"><p>A structure that deserializes JSON into Rust values.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.IoRead.html" title="serde_json::de::IoRead struct">IoRead</a></td><td class="docblock-short"><p>JSON input source that reads from a std::io input stream.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.SliceRead.html" title="serde_json::de::SliceRead struct">SliceRead</a></td><td class="docblock-short"><p>JSON input source that reads from a slice of bytes.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.StrRead.html" title="serde_json::de::StrRead struct">StrRead</a></td><td class="docblock-short"><p>JSON input source that reads from a UTF-8 string.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.StreamDeserializer.html" title="serde_json::de::StreamDeserializer struct">StreamDeserializer</a></td><td class="docblock-short"><p>Iterator that deserializes a stream into multiple JSON values.</p>
|
||||
</td></tr></table><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2>
|
||||
<table><tr class="module-item"><td><a class="trait" href="trait.Read.html" title="serde_json::de::Read trait">Read</a></td><td class="docblock-short"><p>Trait used by the deserializer for iterating over input. This is manually
|
||||
"specialized" for iterating over &<a href="https://doc.rust-lang.org/std/primitive.u8.html" title="u8">u8</a>. Once feature(specialization) is
|
||||
stable we can use actual specialization.</p>
|
||||
</td></tr></table><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
|
||||
<table><tr class="module-item"><td><a class="fn" href="fn.from_reader.html" title="serde_json::de::from_reader fn">from_reader</a></td><td class="docblock-short"><p>Deserialize an instance of type <code>T</code> from an IO stream of JSON.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.from_slice.html" title="serde_json::de::from_slice fn">from_slice</a></td><td class="docblock-short"><p>Deserialize an instance of type <code>T</code> from bytes of JSON text.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.from_str.html" title="serde_json::de::from_str fn">from_str</a></td><td class="docblock-short"><p>Deserialize an instance of type <code>T</code> from a string of JSON text.</p>
|
||||
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
initSidebarItems({"fn":[["from_reader","Deserialize an instance of type `T` from an IO stream of JSON."],["from_slice","Deserialize an instance of type `T` from bytes of JSON text."],["from_str","Deserialize an instance of type `T` from a string of JSON text."]],"struct":[["Deserializer","A structure that deserializes JSON into Rust values."],["IoRead","JSON input source that reads from a std::io input stream."],["SliceRead","JSON input source that reads from a slice of bytes."],["StrRead","JSON input source that reads from a UTF-8 string."],["StreamDeserializer","Iterator that deserializes a stream into multiple JSON values."]],"trait":[["Read","Trait used by the deserializer for iterating over input. This is manually \"specialized\" for iterating over &[u8]. Once feature(specialization) is stable we can use actual specialization."]]});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `error` mod in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, error"><title>serde_json::error - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module error</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"><a href="../index.html">serde_json</a></p><div id="sidebar-vars" data-name="error" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">serde_json</a>::<wbr><a class="mod" href="">error</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/error.rs.html#1-440" title="goto source code">[src]</a></span></h1><div class="docblock"><p>When serializing or deserializing JSON goes wrong.</p>
|
||||
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
|
||||
<table><tr class="module-item"><td><a class="struct" href="struct.Error.html" title="serde_json::error::Error struct">Error</a></td><td class="docblock-short"><p>This type represents all possible errors that can occur when serializing or
|
||||
deserializing JSON data.</p>
|
||||
</td></tr></table><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
|
||||
<table><tr class="module-item"><td><a class="enum" href="enum.Category.html" title="serde_json::error::Category enum">Category</a></td><td class="docblock-short"><p>Categorizes the cause of a <code>serde_json::Error</code>.</p>
|
||||
</td></tr></table><h2 id="types" class="section-header"><a href="#types">Type Definitions</a></h2>
|
||||
<table><tr class="module-item"><td><a class="type" href="type.Result.html" title="serde_json::error::Result type">Result</a></td><td class="docblock-short"><p>Alias for a <code>Result</code> with the error type <code>serde_json::Error</code>.</p>
|
||||
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
initSidebarItems({"enum":[["Category","Categorizes the cause of a `serde_json::Error`."]],"struct":[["Error","This type represents all possible errors that can occur when serializing or deserializing JSON data."]],"type":[["Result","Alias for a `Result` with the error type `serde_json::Error`."]]});
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,6 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Result` type in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, Result"><title>serde_json::error::Result - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition Result</p><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">error</a></p><div id="sidebar-vars" data-name="Result" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="../index.html">serde_json</a>::<wbr><a href="index.html">error</a>::<wbr><a class="type" href="">Result</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/error.rs.html#18" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type Result<T> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <a class="struct" href="../../serde_json/struct.Error.html" title="struct serde_json::Error">Error</a>>;</pre><div class="docblock"><p>Alias for a <code>Result</code> with the error type <code>serde_json::Error</code>.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,87 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `from_reader` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, from_reader"><title>serde_json::from_reader - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="from_reader" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">from_reader</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/de.rs.html#2497-2503" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn from_reader<R, T>(rdr: R) -> <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a><T> <span class="where fmt-newline">where<br> R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,<br> T: <a class="trait" href="../serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a>, </span></pre><div class="docblock"><p>Deserialize an instance of type <code>T</code> from an IO stream of JSON.</p>
|
||||
<p>The content of the IO stream is deserialized directly from the stream
|
||||
without being buffered in memory by serde_json.</p>
|
||||
<p>When reading from a source against which short reads are not efficient, such
|
||||
as a <a href="https://doc.rust-lang.org/std/fs/struct.File.html"><code>File</code></a>, you will want to apply your own buffering because serde_json
|
||||
will not buffer the input. See <a href="https://doc.rust-lang.org/std/io/struct.BufReader.html"><code>std::io::BufReader</code></a>.</p>
|
||||
<p>It is expected that the input stream ends after the deserialized object.
|
||||
If the stream does not end, such as in the case of a persistent socket connection,
|
||||
this function will not return. It is possible instead to deserialize from a prefix of an input
|
||||
stream without looking for EOF by managing your own <a href="../serde_json/struct.Deserializer.html" title="Deserializer"><code>Deserializer</code></a>.</p>
|
||||
<p>Note that counter to intuition, this function is usually slower than
|
||||
reading a file completely into memory and then applying <a href="./fn.from_str.html"><code>from_str</code></a>
|
||||
or <a href="./fn.from_slice.html"><code>from_slice</code></a> on it. See <a href="https://github.com/serde-rs/json/issues/160">issue #160</a>.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<p>Reading the contents of a file.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">fs</span>::<span class="ident">File</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">io</span>::<span class="ident">BufReader</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">path</span>::<span class="ident">Path</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">read_user_from_file</span><span class="op"><</span><span class="ident">P</span>: <span class="ident">AsRef</span><span class="op"><</span><span class="ident">Path</span><span class="op">></span><span class="op">></span>(<span class="ident">path</span>: <span class="ident">P</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">User</span>, <span class="ident">Box</span><span class="op"><</span><span class="kw">dyn</span> <span class="ident">Error</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="comment">// Open the file in read-only mode with buffer.</span>
|
||||
<span class="kw">let</span> <span class="ident">file</span> <span class="op">=</span> <span class="ident">File</span>::<span class="ident">open</span>(<span class="ident">path</span>)<span class="question-mark">?</span>;
|
||||
<span class="kw">let</span> <span class="ident">reader</span> <span class="op">=</span> <span class="ident">BufReader</span>::<span class="ident">new</span>(<span class="ident">file</span>);
|
||||
|
||||
<span class="comment">// Read the JSON contents of the file as an instance of `User`.</span>
|
||||
<span class="kw">let</span> <span class="ident">u</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_reader</span>(<span class="ident">reader</span>)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="comment">// Return the `User`.</span>
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">u</span>)
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="kw">let</span> <span class="ident">u</span> <span class="op">=</span> <span class="ident">read_user_from_file</span>(<span class="string">"test.json"</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">u</span>);
|
||||
}</pre></div>
|
||||
<p>Reading from a persistent socket connection.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">net</span>::{<span class="ident">TcpListener</span>, <span class="ident">TcpStream</span>};
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">read_user_from_stream</span>(<span class="ident">tcp_stream</span>: <span class="ident">TcpStream</span>) <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">User</span>, <span class="ident">Box</span><span class="op"><</span><span class="kw">dyn</span> <span class="ident">Error</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">de</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">Deserializer</span>::<span class="ident">from_reader</span>(<span class="ident">tcp_stream</span>);
|
||||
<span class="kw">let</span> <span class="ident">u</span> <span class="op">=</span> <span class="ident">User</span>::<span class="ident">deserialize</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">de</span>)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">u</span>)
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="kw">let</span> <span class="ident">listener</span> <span class="op">=</span> <span class="ident">TcpListener</span>::<span class="ident">bind</span>(<span class="string">"127.0.0.1:4000"</span>).<span class="ident">unwrap</span>();
|
||||
|
||||
<span class="kw">for</span> <span class="ident">stream</span> <span class="kw">in</span> <span class="ident">listener</span>.<span class="ident">incoming</span>() {
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">read_user_from_stream</span>(<span class="ident">stream</span>.<span class="ident">unwrap</span>()));
|
||||
}
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if the structure of the input does not match the
|
||||
structure expected by <code>T</code>, for example if <code>T</code> is a struct type but the input
|
||||
contains something other than a JSON map. It can also fail if the structure
|
||||
is correct but <code>T</code>'s implementation of <code>Deserialize</code> decides that something
|
||||
is wrong with the data, for example required struct fields are missing from
|
||||
the JSON map or some number is too big to fit in the expected primitive
|
||||
type.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `from_slice` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, from_slice"><title>serde_json::from_slice - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="from_slice" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">from_slice</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/de.rs.html#2540-2545" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn from_slice<'a, T>(v: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&'a [</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -> <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a><T> <span class="where fmt-newline">where<br> T: <a class="trait" href="../serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'a>, </span></pre><div class="docblock"><p>Deserialize an instance of type <code>T</code> from bytes of JSON text.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The type of `j` is `&[u8]`</span>
|
||||
<span class="kw">let</span> <span class="ident">j</span> <span class="op">=</span> <span class="string">b"
|
||||
{
|
||||
\"fingerprint\": \"0xF9BA143B95FF6D82\",
|
||||
\"location\": \"Menlo Park, CA\"
|
||||
}"</span>;
|
||||
|
||||
<span class="kw">let</span> <span class="ident">u</span>: <span class="ident">User</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="ident">j</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">u</span>);
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if the structure of the input does not match the
|
||||
structure expected by <code>T</code>, for example if <code>T</code> is a struct type but the input
|
||||
contains something other than a JSON map. It can also fail if the structure
|
||||
is correct but <code>T</code>'s implementation of <code>Deserialize</code> decides that something
|
||||
is wrong with the data, for example required struct fields are missing from
|
||||
the JSON map or some number is too big to fit in the expected primitive
|
||||
type.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `from_str` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, from_str"><title>serde_json::from_str - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="from_str" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">from_str</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/de.rs.html#2582-2587" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn from_str<'a, T>(s: &'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -> <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a><T> <span class="where fmt-newline">where<br> T: <a class="trait" href="../serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a><'a>, </span></pre><div class="docblock"><p>Deserialize an instance of type <code>T</code> from a string of JSON text.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The type of `j` is `&str`</span>
|
||||
<span class="kw">let</span> <span class="ident">j</span> <span class="op">=</span> <span class="string">"
|
||||
{
|
||||
\"fingerprint\": \"0xF9BA143B95FF6D82\",
|
||||
\"location\": \"Menlo Park, CA\"
|
||||
}"</span>;
|
||||
|
||||
<span class="kw">let</span> <span class="ident">u</span>: <span class="ident">User</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_str</span>(<span class="ident">j</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">u</span>);
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if the structure of the input does not match the
|
||||
structure expected by <code>T</code>, for example if <code>T</code> is a struct type but the input
|
||||
contains something other than a JSON map. It can also fail if the structure
|
||||
is correct but <code>T</code>'s implementation of <code>Deserialize</code> decides that something
|
||||
is wrong with the data, for example required struct fields are missing from
|
||||
the JSON map or some number is too big to fit in the expected primitive
|
||||
type.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `from_value` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, from_value"><title>serde_json::from_value - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="from_value" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">from_value</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/value/mod.rs.html#1005-1010" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn from_value<T>(value: <a class="enum" href="../serde_json/enum.Value.html" title="enum serde_json::Value">Value</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <a class="struct" href="../serde_json/struct.Error.html" title="struct serde_json::Error">Error</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a>, </span></pre><div class="docblock"><p>Interpret a <code>serde_json::Value</code> as an instance of type <code>T</code>.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::<span class="ident">json</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The type of `j` is `serde_json::Value`</span>
|
||||
<span class="kw">let</span> <span class="ident">j</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"fingerprint"</span>: <span class="string">"0xF9BA143B95FF6D82"</span>,
|
||||
<span class="string">"location"</span>: <span class="string">"Menlo Park, CA"</span>
|
||||
});
|
||||
|
||||
<span class="kw">let</span> <span class="ident">u</span>: <span class="ident">User</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">j</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">u</span>);
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if the structure of the Value does not match the
|
||||
structure expected by <code>T</code>, for example if <code>T</code> is a struct type but the Value
|
||||
contains something other than a JSON map. It can also fail if the structure
|
||||
is correct but <code>T</code>'s implementation of <code>Deserialize</code> decides that something
|
||||
is wrong with the data, for example required struct fields are missing from
|
||||
the JSON map or some number is too big to fit in the expected primitive
|
||||
type.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_string` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_string"><title>serde_json::to_string - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="to_string" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">to_string</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/ser.rs.html#2219-2229" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_string<T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as a String of JSON.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_string_pretty` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_string_pretty"><title>serde_json::to_string_pretty - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="to_string_pretty" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">to_string_pretty</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/ser.rs.html#2238-2248" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_string_pretty<T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as a pretty-printed String of JSON.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_value` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_value"><title>serde_json::to_value - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="to_value" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">to_value</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/value/mod.rs.html#963-968" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_value<T>(value: T) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../serde_json/enum.Value.html" title="enum serde_json::Value">Value</a>, <a class="struct" href="../serde_json/struct.Error.html" title="struct serde_json::Error">Error</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Convert a <code>T</code> into <code>serde_json::Value</code> which is an enum that can represent
|
||||
any valid JSON data.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Serialize</span>;
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::<span class="ident">json</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Serialize</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">compare_json_values</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Box</span><span class="op"><</span><span class="ident">Error</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="kw">let</span> <span class="ident">u</span> <span class="op">=</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="string">"0xF9BA143B95FF6D82"</span>.<span class="ident">to_owned</span>(),
|
||||
<span class="ident">location</span>: <span class="string">"Menlo Park, CA"</span>.<span class="ident">to_owned</span>(),
|
||||
};
|
||||
|
||||
<span class="comment">// The type of `expected` is `serde_json::Value`</span>
|
||||
<span class="kw">let</span> <span class="ident">expected</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"fingerprint"</span>: <span class="string">"0xF9BA143B95FF6D82"</span>,
|
||||
<span class="string">"location"</span>: <span class="string">"Menlo Park, CA"</span>,
|
||||
});
|
||||
|
||||
<span class="kw">let</span> <span class="ident">v</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">to_value</span>(<span class="ident">u</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">v</span>, <span class="ident">expected</span>);
|
||||
|
||||
<span class="prelude-val">Ok</span>(())
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">BTreeMap</span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The keys in this map are vectors, not strings.</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">map</span> <span class="op">=</span> <span class="ident">BTreeMap</span>::<span class="ident">new</span>();
|
||||
<span class="ident">map</span>.<span class="ident">insert</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="number">32</span>, <span class="number">64</span>], <span class="string">"x86"</span>);
|
||||
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">serde_json</span>::<span class="ident">to_value</span>(<span class="ident">map</span>).<span class="ident">unwrap_err</span>());
|
||||
}</pre></div>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_vec` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_vec"><title>serde_json::to_vec - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="to_vec" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">to_vec</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/ser.rs.html#2187-2194" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_vec<T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as a JSON byte vector.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_vec_pretty` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_vec_pretty"><title>serde_json::to_vec_pretty - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="to_vec_pretty" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">to_vec_pretty</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/ser.rs.html#2203-2210" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_vec_pretty<T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as a pretty-printed JSON byte vector.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_writer` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_writer"><title>serde_json::to_writer - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="to_writer" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">to_writer</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/ser.rs.html#2152-2160" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_writer<W, T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(writer: W, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,<br> T: <a class="trait" href="../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as JSON into the IO stream.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_writer_pretty` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_writer_pretty"><title>serde_json::to_writer_pretty - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="to_writer_pretty" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="index.html">serde_json</a>::<wbr><a class="fn" href="">to_writer_pretty</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/ser.rs.html#2170-2178" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_writer_pretty<W, T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(writer: W, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,<br> T: <a class="trait" href="../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as pretty-printed JSON into the IO
|
||||
stream.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,274 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `serde_json` crate."><meta name="keywords" content="rust, rustlang, rust-lang, serde_json"><title>serde_json - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Crate serde_json</p><div class="block version"><p>Version 1.0.64</p></div><div class="sidebar-elems"><a id="all-types" href="all.html"><p>See all serde_json's items</p></a><div class="block items"><ul><li><a href="#modules">Modules</a></li><li><a href="#macros">Macros</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Definitions</a></li></ul></div><p class="location"></p><div id="sidebar-vars" data-name="serde_json" data-ty="mod" data-relpath="../"></div></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Crate <a class="mod" href="">serde_json</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/lib.rs.html#1-472" title="goto source code">[src]</a></span></h1><div class="docblock"><h1 id="serde-json" class="section-header"><a href="#serde-json">Serde JSON</a></h1>
|
||||
<p>JSON is a ubiquitous open-standard format that uses human-readable text to
|
||||
transmit data objects consisting of key-value pairs.</p>
|
||||
<pre><code class="language-json">{
|
||||
"name": "John Doe",
|
||||
"age": 43,
|
||||
"address": {
|
||||
"street": "10 Downing Street",
|
||||
"city": "London"
|
||||
},
|
||||
"phones": [
|
||||
"+44 1234567",
|
||||
"+44 2345678"
|
||||
]
|
||||
}
|
||||
</code></pre>
|
||||
<p>There are three common ways that you might find yourself needing to work
|
||||
with JSON data in Rust.</p>
|
||||
<ul>
|
||||
<li><strong>As text data.</strong> An unprocessed string of JSON data that you receive on
|
||||
an HTTP endpoint, read from a file, or prepare to send to a remote
|
||||
server.</li>
|
||||
<li><strong>As an untyped or loosely typed representation.</strong> Maybe you want to
|
||||
check that some JSON data is valid before passing it on, but without
|
||||
knowing the structure of what it contains. Or you want to do very basic
|
||||
manipulations like insert a key in a particular spot.</li>
|
||||
<li><strong>As a strongly typed Rust data structure.</strong> When you expect all or most
|
||||
of your data to conform to a particular structure and want to get real
|
||||
work done without JSON's loosey-goosey nature tripping you up.</li>
|
||||
</ul>
|
||||
<p>Serde JSON provides efficient, flexible, safe ways of converting data
|
||||
between each of these representations.</p>
|
||||
<h1 id="operating-on-untyped-json-values" class="section-header"><a href="#operating-on-untyped-json-values">Operating on untyped JSON values</a></h1>
|
||||
<p>Any valid JSON data can be manipulated in the following recursive enum
|
||||
representation. This data structure is <a href="https://docs.serde.rs/serde_json/value/enum.Value.html"><code>serde_json::Value</code></a>.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">enum</span> <span class="ident">Value</span> {
|
||||
<span class="ident">Null</span>,
|
||||
<span class="ident">Bool</span>(<span class="ident">bool</span>),
|
||||
<span class="ident">Number</span>(<span class="ident">Number</span>),
|
||||
<span class="ident">String</span>(<span class="ident">String</span>),
|
||||
<span class="ident">Array</span>(<span class="ident">Vec</span><span class="op"><</span><span class="ident">Value</span><span class="op">></span>),
|
||||
<span class="ident">Object</span>(<span class="ident">Map</span><span class="op"><</span><span class="ident">String</span>, <span class="ident">Value</span><span class="op">></span>),
|
||||
}</pre></div>
|
||||
<p>A string of JSON data can be parsed into a <code>serde_json::Value</code> by the
|
||||
<a href="https://docs.serde.rs/serde_json/de/fn.from_str.html"><code>serde_json::from_str</code></a> function. There is also
|
||||
<a href="https://docs.serde.rs/serde_json/de/fn.from_slice.html"><code>from_slice</code></a> for parsing from a byte slice &<a href="https://doc.rust-lang.org/std/primitive.u8.html" title="u8">u8</a> and
|
||||
<a href="https://docs.serde.rs/serde_json/de/fn.from_reader.html"><code>from_reader</code></a> for parsing from any <code>io::Read</code> like a File or
|
||||
a TCP stream.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::{<span class="prelude-ty">Result</span>, <span class="ident">Value</span>};
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">untyped_example</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>()<span class="op">></span> {
|
||||
<span class="comment">// Some JSON input data as a &str. Maybe this comes from the user.</span>
|
||||
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="string">r#"
|
||||
{
|
||||
"name": "John Doe",
|
||||
"age": 43,
|
||||
"phones": [
|
||||
"+44 1234567",
|
||||
"+44 2345678"
|
||||
]
|
||||
}"#</span>;
|
||||
|
||||
<span class="comment">// Parse the string of data into serde_json::Value.</span>
|
||||
<span class="kw">let</span> <span class="ident">v</span>: <span class="ident">Value</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_str</span>(<span class="ident">data</span>)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="comment">// Access parts of the data by indexing with square brackets.</span>
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"Please call {} at the number {}"</span>, <span class="ident">v</span>[<span class="string">"name"</span>], <span class="ident">v</span>[<span class="string">"phones"</span>][<span class="number">0</span>]);
|
||||
|
||||
<span class="prelude-val">Ok</span>(())
|
||||
}</pre></div>
|
||||
<p>The result of square bracket indexing like <code>v["name"]</code> is a borrow of the
|
||||
data at that index, so the type is <code>&Value</code>. A JSON map can be indexed with
|
||||
string keys, while a JSON array can be indexed with integer keys. If the
|
||||
type of the data is not right for the type with which it is being indexed,
|
||||
or if a map does not contain the key being indexed, or if the index into a
|
||||
vector is out of bounds, the returned element is <code>Value::Null</code>.</p>
|
||||
<p>When a <code>Value</code> is printed, it is printed as a JSON string. So in the code
|
||||
above, the output looks like <code>Please call "John Doe" at the number "+44 1234567"</code>. The quotation marks appear because <code>v["name"]</code> is a <code>&Value</code>
|
||||
containing a JSON string and its JSON representation is <code>"John Doe"</code>.
|
||||
Printing as a plain string without quotation marks involves converting from
|
||||
a JSON string to a Rust string with <a href="https://docs.serde.rs/serde_json/enum.Value.html#method.as_str"><code>as_str()</code></a> or avoiding the use of
|
||||
<code>Value</code> as described in the following section.</p>
|
||||
<p>The <code>Value</code> representation is sufficient for very basic tasks but can be
|
||||
tedious to work with for anything more significant. Error handling is
|
||||
verbose to implement correctly, for example imagine trying to detect the
|
||||
presence of unrecognized fields in the input data. The compiler is powerless
|
||||
to help you when you make a mistake, for example imagine typoing <code>v["name"]</code>
|
||||
as <code>v["nmae"]</code> in one of the dozens of places it is used in your code.</p>
|
||||
<h1 id="parsing-json-as-strongly-typed-data-structures" class="section-header"><a href="#parsing-json-as-strongly-typed-data-structures">Parsing JSON as strongly typed data structures</a></h1>
|
||||
<p>Serde provides a powerful way of mapping JSON data into Rust data structures
|
||||
largely automatically.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Deserialize</span>, <span class="ident">Serialize</span>};
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::<span class="prelude-ty">Result</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Serialize</span>, <span class="ident">Deserialize</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">Person</span> {
|
||||
<span class="ident">name</span>: <span class="ident">String</span>,
|
||||
<span class="ident">age</span>: <span class="ident">u8</span>,
|
||||
<span class="ident">phones</span>: <span class="ident">Vec</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">typed_example</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>()<span class="op">></span> {
|
||||
<span class="comment">// Some JSON input data as a &str. Maybe this comes from the user.</span>
|
||||
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="string">r#"
|
||||
{
|
||||
"name": "John Doe",
|
||||
"age": 43,
|
||||
"phones": [
|
||||
"+44 1234567",
|
||||
"+44 2345678"
|
||||
]
|
||||
}"#</span>;
|
||||
|
||||
<span class="comment">// Parse the string of data into a Person object. This is exactly the</span>
|
||||
<span class="comment">// same function as the one that produced serde_json::Value above, but</span>
|
||||
<span class="comment">// now we are asking it for a Person as output.</span>
|
||||
<span class="kw">let</span> <span class="ident">p</span>: <span class="ident">Person</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_str</span>(<span class="ident">data</span>)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="comment">// Do things just like with any other Rust data structure.</span>
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"Please call {} at the number {}"</span>, <span class="ident">p</span>.<span class="ident">name</span>, <span class="ident">p</span>.<span class="ident">phones</span>[<span class="number">0</span>]);
|
||||
|
||||
<span class="prelude-val">Ok</span>(())
|
||||
}</pre></div>
|
||||
<p>This is the same <code>serde_json::from_str</code> function as before, but this time we
|
||||
assign the return value to a variable of type <code>Person</code> so Serde will
|
||||
automatically interpret the input data as a <code>Person</code> and produce informative
|
||||
error messages if the layout does not conform to what a <code>Person</code> is expected
|
||||
to look like.</p>
|
||||
<p>Any type that implements Serde's <code>Deserialize</code> trait can be deserialized
|
||||
this way. This includes built-in Rust standard library types like <code>Vec<T></code>
|
||||
and <code>HashMap<K, V></code>, as well as any structs or enums annotated with
|
||||
<code>#[derive(Deserialize)]</code>.</p>
|
||||
<p>Once we have <code>p</code> of type <code>Person</code>, our IDE and the Rust compiler can help us
|
||||
use it correctly like they do for any other Rust code. The IDE can
|
||||
autocomplete field names to prevent typos, which was impossible in the
|
||||
<code>serde_json::Value</code> representation. And the Rust compiler can check that
|
||||
when we write <code>p.phones[0]</code>, then <code>p.phones</code> is guaranteed to be a
|
||||
<code>Vec<String></code> so indexing into it makes sense and produces a <code>String</code>.</p>
|
||||
<h1 id="constructing-json-values" class="section-header"><a href="#constructing-json-values">Constructing JSON values</a></h1>
|
||||
<p>Serde JSON provides a <a href="https://docs.serde.rs/serde_json/macro.json.html"><code>json!</code> macro</a> to build <code>serde_json::Value</code>
|
||||
objects with very natural JSON syntax.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::<span class="ident">json</span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The type of `john` is `serde_json::Value`</span>
|
||||
<span class="kw">let</span> <span class="ident">john</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"name"</span>: <span class="string">"John Doe"</span>,
|
||||
<span class="string">"age"</span>: <span class="number">43</span>,
|
||||
<span class="string">"phones"</span>: [
|
||||
<span class="string">"+44 1234567"</span>,
|
||||
<span class="string">"+44 2345678"</span>
|
||||
]
|
||||
});
|
||||
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"first phone number: {}"</span>, <span class="ident">john</span>[<span class="string">"phones"</span>][<span class="number">0</span>]);
|
||||
|
||||
<span class="comment">// Convert to a string of JSON and print it out</span>
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">john</span>.<span class="ident">to_string</span>());
|
||||
}</pre></div>
|
||||
<p>The <code>Value::to_string()</code> function converts a <code>serde_json::Value</code> into a
|
||||
<code>String</code> of JSON text.</p>
|
||||
<p>One neat thing about the <code>json!</code> macro is that variables and expressions can
|
||||
be interpolated directly into the JSON value as you are building it. Serde
|
||||
will check at compile time that the value you are interpolating is able to
|
||||
be represented as JSON.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">full_name</span> <span class="op">=</span> <span class="string">"John Doe"</span>;
|
||||
<span class="kw">let</span> <span class="ident">age_last_year</span> <span class="op">=</span> <span class="number">42</span>;
|
||||
|
||||
<span class="comment">// The type of `john` is `serde_json::Value`</span>
|
||||
<span class="kw">let</span> <span class="ident">john</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"name"</span>: <span class="ident">full_name</span>,
|
||||
<span class="string">"age"</span>: <span class="ident">age_last_year</span> <span class="op">+</span> <span class="number">1</span>,
|
||||
<span class="string">"phones"</span>: [
|
||||
<span class="macro">format</span><span class="macro">!</span>(<span class="string">"+44 {}"</span>, <span class="ident">random_phone</span>())
|
||||
]
|
||||
});</pre></div>
|
||||
<p>This is amazingly convenient but we have the problem we had before with
|
||||
<code>Value</code> which is that the IDE and Rust compiler cannot help us if we get it
|
||||
wrong. Serde JSON provides a better way of serializing strongly-typed data
|
||||
structures into JSON text.</p>
|
||||
<h1 id="creating-json-by-serializing-data-structures" class="section-header"><a href="#creating-json-by-serializing-data-structures">Creating JSON by serializing data structures</a></h1>
|
||||
<p>A data structure can be converted to a JSON string by
|
||||
<a href="https://docs.serde.rs/serde_json/ser/fn.to_string.html"><code>serde_json::to_string</code></a>. There is also
|
||||
<a href="https://docs.serde.rs/serde_json/ser/fn.to_vec.html"><code>serde_json::to_vec</code></a> which serializes to a <code>Vec<u8></code> and
|
||||
<a href="https://docs.serde.rs/serde_json/ser/fn.to_writer.html"><code>serde_json::to_writer</code></a> which serializes to any <code>io::Write</code>
|
||||
such as a File or a TCP stream.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Deserialize</span>, <span class="ident">Serialize</span>};
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::<span class="prelude-ty">Result</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Serialize</span>, <span class="ident">Deserialize</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">Address</span> {
|
||||
<span class="ident">street</span>: <span class="ident">String</span>,
|
||||
<span class="ident">city</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">print_an_address</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>()<span class="op">></span> {
|
||||
<span class="comment">// Some data structure.</span>
|
||||
<span class="kw">let</span> <span class="ident">address</span> <span class="op">=</span> <span class="ident">Address</span> {
|
||||
<span class="ident">street</span>: <span class="string">"10 Downing Street"</span>.<span class="ident">to_owned</span>(),
|
||||
<span class="ident">city</span>: <span class="string">"London"</span>.<span class="ident">to_owned</span>(),
|
||||
};
|
||||
|
||||
<span class="comment">// Serialize it to a JSON string.</span>
|
||||
<span class="kw">let</span> <span class="ident">j</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">to_string</span>(<span class="kw-2">&</span><span class="ident">address</span>)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="comment">// Print, write to a file, or send to an HTTP server.</span>
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">j</span>);
|
||||
|
||||
<span class="prelude-val">Ok</span>(())
|
||||
}</pre></div>
|
||||
<p>Any type that implements Serde's <code>Serialize</code> trait can be serialized this
|
||||
way. This includes built-in Rust standard library types like <code>Vec<T></code> and
|
||||
<code>HashMap<K, V></code>, as well as any structs or enums annotated with
|
||||
<code>#[derive(Serialize)]</code>.</p>
|
||||
<h1 id="no-std-support" class="section-header"><a href="#no-std-support">No-std support</a></h1>
|
||||
<p>As long as there is a memory allocator, it is possible to use serde_json
|
||||
without the rest of the Rust standard library. This is supported on Rust
|
||||
1.36+. Disable the default "std" feature and enable the "alloc" feature:</p>
|
||||
<pre><code class="language-toml">[dependencies]
|
||||
serde_json = { version = "1.0", default-features = false, features = ["alloc"] }
|
||||
</code></pre>
|
||||
<p>For JSON support in Serde without a memory allocator, please see the
|
||||
<a href="https://japaric.github.io/serde-json-core/serde_json_core/"><code>serde-json-core</code></a> crate.</p>
|
||||
</div><h2 id="modules" class="section-header"><a href="#modules">Modules</a></h2>
|
||||
<table><tr class="module-item"><td><a class="mod" href="de/index.html" title="serde_json::de mod">de</a></td><td class="docblock-short"><p>Deserialize JSON data to a Rust data structure.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="mod" href="error/index.html" title="serde_json::error mod">error</a></td><td class="docblock-short"><p>When serializing or deserializing JSON goes wrong.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="mod" href="map/index.html" title="serde_json::map mod">map</a></td><td class="docblock-short"><p>A map of String to serde_json::Value.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="mod" href="ser/index.html" title="serde_json::ser mod">ser</a></td><td class="docblock-short"><p>Serialize a Rust data structure into JSON data.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="mod" href="value/index.html" title="serde_json::value mod">value</a></td><td class="docblock-short"><p>The Value enum, a loosely typed way of representing any valid JSON value.</p>
|
||||
</td></tr></table><h2 id="macros" class="section-header"><a href="#macros">Macros</a></h2>
|
||||
<table><tr class="module-item"><td><a class="macro" href="macro.json.html" title="serde_json::json macro">json</a></td><td class="docblock-short"><p>Construct a <code>serde_json::Value</code> from a JSON literal.</p>
|
||||
</td></tr></table><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
|
||||
<table><tr class="module-item"><td><a class="struct" href="struct.Deserializer.html" title="serde_json::Deserializer struct">Deserializer</a></td><td class="docblock-short"><p>A structure that deserializes JSON into Rust values.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Error.html" title="serde_json::Error struct">Error</a></td><td class="docblock-short"><p>This type represents all possible errors that can occur when serializing or
|
||||
deserializing JSON data.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Map.html" title="serde_json::Map struct">Map</a></td><td class="docblock-short"><p>Represents a JSON key/value type.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Number.html" title="serde_json::Number struct">Number</a></td><td class="docblock-short"><p>Represents a JSON number, whether integer or floating point.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Serializer.html" title="serde_json::Serializer struct">Serializer</a></td><td class="docblock-short"><p>A structure for serializing Rust values into JSON.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.StreamDeserializer.html" title="serde_json::StreamDeserializer struct">StreamDeserializer</a></td><td class="docblock-short"><p>Iterator that deserializes a stream into multiple JSON values.</p>
|
||||
</td></tr></table><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
|
||||
<table><tr class="module-item"><td><a class="enum" href="enum.Value.html" title="serde_json::Value enum">Value</a></td><td class="docblock-short"><p>Represents any valid JSON value.</p>
|
||||
</td></tr></table><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
|
||||
<table><tr class="module-item"><td><a class="fn" href="fn.from_reader.html" title="serde_json::from_reader fn">from_reader</a></td><td class="docblock-short"><p>Deserialize an instance of type <code>T</code> from an IO stream of JSON.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.from_slice.html" title="serde_json::from_slice fn">from_slice</a></td><td class="docblock-short"><p>Deserialize an instance of type <code>T</code> from bytes of JSON text.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.from_str.html" title="serde_json::from_str fn">from_str</a></td><td class="docblock-short"><p>Deserialize an instance of type <code>T</code> from a string of JSON text.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.from_value.html" title="serde_json::from_value fn">from_value</a></td><td class="docblock-short"><p>Interpret a <code>serde_json::Value</code> as an instance of type <code>T</code>.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_string.html" title="serde_json::to_string fn">to_string</a></td><td class="docblock-short"><p>Serialize the given data structure as a String of JSON.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_string_pretty.html" title="serde_json::to_string_pretty fn">to_string_pretty</a></td><td class="docblock-short"><p>Serialize the given data structure as a pretty-printed String of JSON.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_value.html" title="serde_json::to_value fn">to_value</a></td><td class="docblock-short"><p>Convert a <code>T</code> into <code>serde_json::Value</code> which is an enum that can represent
|
||||
any valid JSON data.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_vec.html" title="serde_json::to_vec fn">to_vec</a></td><td class="docblock-short"><p>Serialize the given data structure as a JSON byte vector.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_vec_pretty.html" title="serde_json::to_vec_pretty fn">to_vec_pretty</a></td><td class="docblock-short"><p>Serialize the given data structure as a pretty-printed JSON byte vector.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_writer.html" title="serde_json::to_writer fn">to_writer</a></td><td class="docblock-short"><p>Serialize the given data structure as JSON into the IO stream.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_writer_pretty.html" title="serde_json::to_writer_pretty fn">to_writer_pretty</a></td><td class="docblock-short"><p>Serialize the given data structure as pretty-printed JSON into the IO
|
||||
stream.</p>
|
||||
</td></tr></table><h2 id="types" class="section-header"><a href="#types">Type Definitions</a></h2>
|
||||
<table><tr class="module-item"><td><a class="type" href="type.Result.html" title="serde_json::Result type">Result</a></td><td class="docblock-short"><p>Alias for a <code>Result</code> with the error type <code>serde_json::Error</code>.</p>
|
||||
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=macro.json.html">
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="macro.json.html">macro.json.html</a>...</p>
|
||||
<script>location.replace("macro.json.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,49 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `json` macro in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, json"><title>serde_json::json - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc macro"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="json" data-ty="macro" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Macro <a href="index.html">serde_json</a>::<wbr><a class="macro" href="">json</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/macros.rs.html#53-58" title="goto source code">[src]</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><div class="example-wrap"><pre class="rust macro">
|
||||
<span class="macro">macro_rules</span><span class="macro">!</span> <span class="ident">json</span> {
|
||||
($(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">json</span>:<span class="ident">tt</span>)<span class="op">+</span>) <span class="op">=</span><span class="op">></span> { ... };
|
||||
}</pre></div>
|
||||
</div><div class="docblock"><p>Construct a <code>serde_json::Value</code> from a JSON literal.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"code"</span>: <span class="number">200</span>,
|
||||
<span class="string">"success"</span>: <span class="bool-val">true</span>,
|
||||
<span class="string">"payload"</span>: {
|
||||
<span class="string">"features"</span>: [
|
||||
<span class="string">"serde"</span>,
|
||||
<span class="string">"json"</span>
|
||||
]
|
||||
}
|
||||
});</pre></div>
|
||||
<p>Variables or expressions can be interpolated into the JSON literal. Any type
|
||||
interpolated into an array element or object value must implement Serde's
|
||||
<code>Serialize</code> trait, while any type interpolated into a object key must
|
||||
implement <code>Into<String></code>. If the <code>Serialize</code> implementation of the
|
||||
interpolated type decides to fail, or if the interpolated type contains a
|
||||
map with non-string keys, the <code>json!</code> macro will panic.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">code</span> <span class="op">=</span> <span class="number">200</span>;
|
||||
<span class="kw">let</span> <span class="ident">features</span> <span class="op">=</span> <span class="macro">vec</span><span class="macro">!</span>[<span class="string">"serde"</span>, <span class="string">"json"</span>];
|
||||
|
||||
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"code"</span>: <span class="ident">code</span>,
|
||||
<span class="string">"success"</span>: <span class="ident">code</span> <span class="op">=</span><span class="op">=</span> <span class="number">200</span>,
|
||||
<span class="string">"payload"</span>: {
|
||||
<span class="ident">features</span>[<span class="number">0</span>]: <span class="ident">features</span>[<span class="number">1</span>]
|
||||
}
|
||||
});</pre></div>
|
||||
<p>Trailing commas are allowed inside both arrays and objects.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">value</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>([
|
||||
<span class="string">"notice"</span>,
|
||||
<span class="string">"the"</span>,
|
||||
<span class="string">"trailing"</span>,
|
||||
<span class="string">"comma -->"</span>,
|
||||
]);</pre></div>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `map` mod in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, map"><title>serde_json::map - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module map</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></div><p class="location"><a href="../index.html">serde_json</a></p><div id="sidebar-vars" data-name="map" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">serde_json</a>::<wbr><a class="mod" href="">map</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/map.rs.html#1-899" title="goto source code">[src]</a></span></h1><div class="docblock"><p>A map of String to serde_json::Value.</p>
|
||||
<p>By default the map is backed by a <a href="https://doc.rust-lang.org/std/collections/struct.BTreeMap.html"><code>BTreeMap</code></a>. Enable the <code>preserve_order</code>
|
||||
feature of serde_json to use <a href="https://docs.rs/indexmap/*/indexmap/map/struct.IndexMap.html"><code>IndexMap</code></a> instead.</p>
|
||||
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
|
||||
<table><tr class="module-item"><td><a class="struct" href="struct.IntoIter.html" title="serde_json::map::IntoIter struct">IntoIter</a></td><td class="docblock-short"><p>An owning iterator over a serde_json::Map's entries.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Iter.html" title="serde_json::map::Iter struct">Iter</a></td><td class="docblock-short"><p>An iterator over a serde_json::Map's entries.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.IterMut.html" title="serde_json::map::IterMut struct">IterMut</a></td><td class="docblock-short"><p>A mutable iterator over a serde_json::Map's entries.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Keys.html" title="serde_json::map::Keys struct">Keys</a></td><td class="docblock-short"><p>An iterator over a serde_json::Map's keys.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Map.html" title="serde_json::map::Map struct">Map</a></td><td class="docblock-short"><p>Represents a JSON key/value type.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.OccupiedEntry.html" title="serde_json::map::OccupiedEntry struct">OccupiedEntry</a></td><td class="docblock-short"><p>An occupied Entry. It is part of the <a href="enum.Entry.html"><code>Entry</code></a> enum.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.VacantEntry.html" title="serde_json::map::VacantEntry struct">VacantEntry</a></td><td class="docblock-short"><p>A vacant Entry. It is part of the <a href="enum.Entry.html"><code>Entry</code></a> enum.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Values.html" title="serde_json::map::Values struct">Values</a></td><td class="docblock-short"><p>An iterator over a serde_json::Map's values.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.ValuesMut.html" title="serde_json::map::ValuesMut struct">ValuesMut</a></td><td class="docblock-short"><p>A mutable iterator over a serde_json::Map's values.</p>
|
||||
</td></tr></table><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
|
||||
<table><tr class="module-item"><td><a class="enum" href="enum.Entry.html" title="serde_json::map::Entry enum">Entry</a></td><td class="docblock-short"><p>A view into a single entry in a map, which may either be vacant or occupied.
|
||||
This enum is constructed from the <a href="struct.Map.html#method.entry"><code>entry</code></a> method on <a href="struct.Map.html"><code>Map</code></a>.</p>
|
||||
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
initSidebarItems({"enum":[["Entry","A view into a single entry in a map, which may either be vacant or occupied. This enum is constructed from the `entry` method on `Map`."]],"struct":[["IntoIter","An owning iterator over a serde_json::Map's entries."],["Iter","An iterator over a serde_json::Map's entries."],["IterMut","A mutable iterator over a serde_json::Map's entries."],["Keys","An iterator over a serde_json::Map's keys."],["Map","Represents a JSON key/value type."],["OccupiedEntry","An occupied Entry. It is part of the `Entry` enum."],["VacantEntry","A vacant Entry. It is part of the `Entry` enum."],["Values","An iterator over a serde_json::Map's values."],["ValuesMut","A mutable iterator over a serde_json::Map's values."]]});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../serde_json/value/struct.Number.html">
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../serde_json/value/struct.Number.html">../../serde_json/value/struct.Number.html</a>...</p>
|
||||
<script>location.replace("../../serde_json/value/struct.Number.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../serde_json/de/struct.IoRead.html">
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../serde_json/de/struct.IoRead.html">../../serde_json/de/struct.IoRead.html</a>...</p>
|
||||
<script>location.replace("../../serde_json/de/struct.IoRead.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../serde_json/de/struct.SliceRead.html">
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../serde_json/de/struct.SliceRead.html">../../serde_json/de/struct.SliceRead.html</a>...</p>
|
||||
<script>location.replace("../../serde_json/de/struct.SliceRead.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../serde_json/de/struct.StrRead.html">
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../serde_json/de/struct.StrRead.html">../../serde_json/de/struct.StrRead.html</a>...</p>
|
||||
<script>location.replace("../../serde_json/de/struct.StrRead.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../serde_json/de/trait.Read.html">
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../serde_json/de/trait.Read.html">../../serde_json/de/trait.Read.html</a>...</p>
|
||||
<script>location.replace("../../serde_json/de/trait.Read.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_string` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_string"><title>serde_json::ser::to_string - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a></p><div id="sidebar-vars" data-name="to_string" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a>::<wbr><a class="fn" href="">to_string</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/ser.rs.html#2219-2229" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_string<T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as a String of JSON.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_string_pretty` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_string_pretty"><title>serde_json::ser::to_string_pretty - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a></p><div id="sidebar-vars" data-name="to_string_pretty" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a>::<wbr><a class="fn" href="">to_string_pretty</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/ser.rs.html#2238-2248" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_string_pretty<T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as a pretty-printed String of JSON.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_vec` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_vec"><title>serde_json::ser::to_vec - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a></p><div id="sidebar-vars" data-name="to_vec" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a>::<wbr><a class="fn" href="">to_vec</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/ser.rs.html#2187-2194" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_vec<T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as a JSON byte vector.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_vec_pretty` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_vec_pretty"><title>serde_json::ser::to_vec_pretty - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a></p><div id="sidebar-vars" data-name="to_vec_pretty" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a>::<wbr><a class="fn" href="">to_vec_pretty</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/ser.rs.html#2203-2210" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_vec_pretty<T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a>>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as a pretty-printed JSON byte vector.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_writer` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_writer"><title>serde_json::ser::to_writer - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a></p><div id="sidebar-vars" data-name="to_writer" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a>::<wbr><a class="fn" href="">to_writer</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/ser.rs.html#2152-2160" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_writer<W, T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(writer: W, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,<br> T: <a class="trait" href="../../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as JSON into the IO stream.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_writer_pretty` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_writer_pretty"><title>serde_json::ser::to_writer_pretty - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a></p><div id="sidebar-vars" data-name="to_writer_pretty" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">ser</a>::<wbr><a class="fn" href="">to_writer_pretty</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/ser.rs.html#2170-2178" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_writer_pretty<W, T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>>(writer: W, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&</a>T) -> <a class="type" href="../../serde_json/type.Result.html" title="type serde_json::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>> <span class="where fmt-newline">where<br> W: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Write.html" title="trait std::io::Write">Write</a>,<br> T: <a class="trait" href="../../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Serialize the given data structure as pretty-printed JSON into the IO
|
||||
stream.</p>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>Serialization can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,23 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ser` mod in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, ser"><title>serde_json::ser - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module ser</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div><p class="location"><a href="../index.html">serde_json</a></p><div id="sidebar-vars" data-name="ser" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">serde_json</a>::<wbr><a class="mod" href="">ser</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/ser.rs.html#1-2259" title="goto source code">[src]</a></span></h1><div class="docblock"><p>Serialize a Rust data structure into JSON data.</p>
|
||||
</div><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
|
||||
<table><tr class="module-item"><td><a class="struct" href="struct.CompactFormatter.html" title="serde_json::ser::CompactFormatter struct">CompactFormatter</a></td><td class="docblock-short"><p>This structure compacts a JSON value with no extra whitespace.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.PrettyFormatter.html" title="serde_json::ser::PrettyFormatter struct">PrettyFormatter</a></td><td class="docblock-short"><p>This structure pretty prints a JSON value to make it human readable.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Serializer.html" title="serde_json::ser::Serializer struct">Serializer</a></td><td class="docblock-short"><p>A structure for serializing Rust values into JSON.</p>
|
||||
</td></tr></table><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
|
||||
<table><tr class="module-item"><td><a class="enum" href="enum.CharEscape.html" title="serde_json::ser::CharEscape enum">CharEscape</a></td><td class="docblock-short"><p>Represents a character escape code in a type-safe manner.</p>
|
||||
</td></tr></table><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2>
|
||||
<table><tr class="module-item"><td><a class="trait" href="trait.Formatter.html" title="serde_json::ser::Formatter trait">Formatter</a></td><td class="docblock-short"><p>This trait abstracts away serializing the JSON control characters, which allows the user to
|
||||
optionally pretty print the JSON output.</p>
|
||||
</td></tr></table><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
|
||||
<table><tr class="module-item"><td><a class="fn" href="fn.to_string.html" title="serde_json::ser::to_string fn">to_string</a></td><td class="docblock-short"><p>Serialize the given data structure as a String of JSON.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_string_pretty.html" title="serde_json::ser::to_string_pretty fn">to_string_pretty</a></td><td class="docblock-short"><p>Serialize the given data structure as a pretty-printed String of JSON.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_vec.html" title="serde_json::ser::to_vec fn">to_vec</a></td><td class="docblock-short"><p>Serialize the given data structure as a JSON byte vector.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_vec_pretty.html" title="serde_json::ser::to_vec_pretty fn">to_vec_pretty</a></td><td class="docblock-short"><p>Serialize the given data structure as a pretty-printed JSON byte vector.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_writer.html" title="serde_json::ser::to_writer fn">to_writer</a></td><td class="docblock-short"><p>Serialize the given data structure as JSON into the IO stream.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_writer_pretty.html" title="serde_json::ser::to_writer_pretty fn">to_writer_pretty</a></td><td class="docblock-short"><p>Serialize the given data structure as pretty-printed JSON into the IO
|
||||
stream.</p>
|
||||
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1 @@
|
||||
initSidebarItems({"enum":[["CharEscape","Represents a character escape code in a type-safe manner."]],"fn":[["to_string","Serialize the given data structure as a String of JSON."],["to_string_pretty","Serialize the given data structure as a pretty-printed String of JSON."],["to_vec","Serialize the given data structure as a JSON byte vector."],["to_vec_pretty","Serialize the given data structure as a pretty-printed JSON byte vector."],["to_writer","Serialize the given data structure as JSON into the IO stream."],["to_writer_pretty","Serialize the given data structure as pretty-printed JSON into the IO stream."]],"struct":[["CompactFormatter","This structure compacts a JSON value with no extra whitespace."],["PrettyFormatter","This structure pretty prints a JSON value to make it human readable."],["Serializer","A structure for serializing Rust values into JSON."]],"trait":[["Formatter","This trait abstracts away serializing the JSON control characters, which allows the user to optionally pretty print the JSON output."]]});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
initSidebarItems({"enum":[["Value","Represents any valid JSON value."]],"fn":[["from_reader","Deserialize an instance of type `T` from an IO stream of JSON."],["from_slice","Deserialize an instance of type `T` from bytes of JSON text."],["from_str","Deserialize an instance of type `T` from a string of JSON text."],["from_value","Interpret a `serde_json::Value` as an instance of type `T`."],["to_string","Serialize the given data structure as a String of JSON."],["to_string_pretty","Serialize the given data structure as a pretty-printed String of JSON."],["to_value","Convert a `T` into `serde_json::Value` which is an enum that can represent any valid JSON data."],["to_vec","Serialize the given data structure as a JSON byte vector."],["to_vec_pretty","Serialize the given data structure as a pretty-printed JSON byte vector."],["to_writer","Serialize the given data structure as JSON into the IO stream."],["to_writer_pretty","Serialize the given data structure as pretty-printed JSON into the IO stream."]],"macro":[["json","Construct a `serde_json::Value` from a JSON literal."]],"mod":[["de","Deserialize JSON data to a Rust data structure."],["error","When serializing or deserializing JSON goes wrong."],["map","A map of String to serde_json::Value."],["ser","Serialize a Rust data structure into JSON data."],["value","The Value enum, a loosely typed way of representing any valid JSON value."]],"struct":[["Deserializer","A structure that deserializes JSON into Rust values."],["Error","This type represents all possible errors that can occur when serializing or deserializing JSON data."],["Map","Represents a JSON key/value type."],["Number","Represents a JSON number, whether integer or floating point."],["Serializer","A structure for serializing Rust values into JSON."],["StreamDeserializer","Iterator that deserializes a stream into multiple JSON values."]],"type":[["Result","Alias for a `Result` with the error type `serde_json::Error`."]]});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,6 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Result` type in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, Result"><title>serde_json::Result - Rust</title><link rel="stylesheet" type="text/css" href="../normalize.css"><link rel="stylesheet" type="text/css" href="../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../ayu.css" disabled ><script id="default-settings"></script><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc type"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../serde_json/index.html'><div class='logo-container rust-logo'><img src='../rust-logo.png' alt='logo'></div></a><p class="location">Type Definition Result</p><div class="sidebar-elems"><p class="location"><a href="index.html">serde_json</a></p><div id="sidebar-vars" data-name="Result" data-ty="type" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../settings.html"><img src="../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Type Definition <a href="index.html">serde_json</a>::<wbr><a class="type" href="">Result</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../src/serde_json/error.rs.html#18" title="goto source code">[src]</a></span></h1><pre class="rust typedef">type Result<T> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <a class="struct" href="../serde_json/struct.Error.html" title="struct serde_json::Error">Error</a>>;</pre><div class="docblock"><p>Alias for a <code>Result</code> with the error type <code>serde_json::Error</code>.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../" data-current-crate="serde_json"></div>
|
||||
<script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,35 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `from_value` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, from_value"><title>serde_json::value::from_value - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">value</a></p><div id="sidebar-vars" data-name="from_value" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">value</a>::<wbr><a class="fn" href="">from_value</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/value/mod.rs.html#1005-1010" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn from_value<T>(value: <a class="enum" href="../../serde_json/enum.Value.html" title="enum serde_json::Value">Value</a>) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <a class="struct" href="../../serde_json/struct.Error.html" title="struct serde_json::Error">Error</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../../serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a>, </span></pre><div class="docblock"><p>Interpret a <code>serde_json::Value</code> as an instance of type <code>T</code>.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Deserialize</span>;
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::<span class="ident">json</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Deserialize</span>, <span class="ident">Debug</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The type of `j` is `serde_json::Value`</span>
|
||||
<span class="kw">let</span> <span class="ident">j</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"fingerprint"</span>: <span class="string">"0xF9BA143B95FF6D82"</span>,
|
||||
<span class="string">"location"</span>: <span class="string">"Menlo Park, CA"</span>
|
||||
});
|
||||
|
||||
<span class="kw">let</span> <span class="ident">u</span>: <span class="ident">User</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_value</span>(<span class="ident">j</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{:#?}"</span>, <span class="ident">u</span>);
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if the structure of the Value does not match the
|
||||
structure expected by <code>T</code>, for example if <code>T</code> is a struct type but the Value
|
||||
contains something other than a JSON map. It can also fail if the structure
|
||||
is correct but <code>T</code>'s implementation of <code>Deserialize</code> decides that something
|
||||
is wrong with the data, for example required struct fields are missing from
|
||||
the JSON map or some number is too big to fit in the expected primitive
|
||||
type.</p>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `to_value` fn in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, to_value"><title>serde_json::value::to_value - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc fn"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><div class="sidebar-elems"><p class="location"><a href="../index.html">serde_json</a>::<wbr><a href="index.html">value</a></p><div id="sidebar-vars" data-name="to_value" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Function <a href="../index.html">serde_json</a>::<wbr><a href="index.html">value</a>::<wbr><a class="fn" href="">to_value</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/value/mod.rs.html#963-968" title="goto source code">[src]</a></span></h1><pre class="rust fn">pub fn to_value<T>(value: T) -> <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="enum" href="../../serde_json/enum.Value.html" title="enum serde_json::Value">Value</a>, <a class="struct" href="../../serde_json/struct.Error.html" title="struct serde_json::Error">Error</a>> <span class="where fmt-newline">where<br> T: <a class="trait" href="../../serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>, </span></pre><div class="docblock"><p>Convert a <code>T</code> into <code>serde_json::Value</code> which is an enum that can represent
|
||||
any valid JSON data.</p>
|
||||
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde</span>::<span class="ident">Serialize</span>;
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::<span class="ident">json</span>;
|
||||
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">error</span>::<span class="ident">Error</span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Serialize</span>)]</span>
|
||||
<span class="kw">struct</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="ident">String</span>,
|
||||
<span class="ident">location</span>: <span class="ident">String</span>,
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">compare_json_values</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Box</span><span class="op"><</span><span class="ident">Error</span><span class="op">></span><span class="op">></span> {
|
||||
<span class="kw">let</span> <span class="ident">u</span> <span class="op">=</span> <span class="ident">User</span> {
|
||||
<span class="ident">fingerprint</span>: <span class="string">"0xF9BA143B95FF6D82"</span>.<span class="ident">to_owned</span>(),
|
||||
<span class="ident">location</span>: <span class="string">"Menlo Park, CA"</span>.<span class="ident">to_owned</span>(),
|
||||
};
|
||||
|
||||
<span class="comment">// The type of `expected` is `serde_json::Value`</span>
|
||||
<span class="kw">let</span> <span class="ident">expected</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"fingerprint"</span>: <span class="string">"0xF9BA143B95FF6D82"</span>,
|
||||
<span class="string">"location"</span>: <span class="string">"Menlo Park, CA"</span>,
|
||||
});
|
||||
|
||||
<span class="kw">let</span> <span class="ident">v</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">to_value</span>(<span class="ident">u</span>).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">v</span>, <span class="ident">expected</span>);
|
||||
|
||||
<span class="prelude-val">Ok</span>(())
|
||||
}</pre></div>
|
||||
<h1 id="errors" class="section-header"><a href="#errors">Errors</a></h1>
|
||||
<p>This conversion can fail if <code>T</code>'s implementation of <code>Serialize</code> decides to
|
||||
fail, or if <code>T</code> contains a map with non-string keys.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">collections</span>::<span class="ident">BTreeMap</span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The keys in this map are vectors, not strings.</span>
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">map</span> <span class="op">=</span> <span class="ident">BTreeMap</span>::<span class="ident">new</span>();
|
||||
<span class="ident">map</span>.<span class="ident">insert</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="number">32</span>, <span class="number">64</span>], <span class="string">"x86"</span>);
|
||||
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">serde_json</span>::<span class="ident">to_value</span>(<span class="ident">map</span>).<span class="ident">unwrap_err</span>());
|
||||
}</pre></div>
|
||||
</div></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,89 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `value` mod in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, value"><title>serde_json::value - Rust</title><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings"></script><script src="../../storage.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="icon" type="image/svg+xml" href="../../favicon.svg">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-16x16.png">
|
||||
<link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">☰</div><a href='../../serde_json/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a><p class="location">Module value</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#reexports">Re-exports</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div><p class="location"><a href="../index.html">serde_json</a></p><div id="sidebar-vars" data-name="value" data-ty="mod" data-relpath="../"></div><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu"><img src="../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices" role="menu"></div></div><script src="../../theme.js"></script><nav class="sub"><form class="search-form"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" class="help-button">?</button>
|
||||
<a id="settings-menu" href="../../settings.html"><img src="../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class="fqn"><span class="in-band">Module <a href="../index.html">serde_json</a>::<wbr><a class="mod" href="">value</a></span><span class="out-of-band"><span id="render-detail"><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">−</span>]</a></span><a class="srclink" href="../../src/serde_json/value/mod.rs.html#1-1010" title="goto source code">[src]</a></span></h1><div class="docblock"><p>The Value enum, a loosely typed way of representing any valid JSON value.</p>
|
||||
<h1 id="constructing-json" class="section-header"><a href="#constructing-json">Constructing JSON</a></h1>
|
||||
<p>Serde JSON provides a <a href="https://docs.serde.rs/serde_json/macro.json.html"><code>json!</code> macro</a> to build <code>serde_json::Value</code>
|
||||
objects with very natural JSON syntax.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::<span class="ident">json</span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">main</span>() {
|
||||
<span class="comment">// The type of `john` is `serde_json::Value`</span>
|
||||
<span class="kw">let</span> <span class="ident">john</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"name"</span>: <span class="string">"John Doe"</span>,
|
||||
<span class="string">"age"</span>: <span class="number">43</span>,
|
||||
<span class="string">"phones"</span>: [
|
||||
<span class="string">"+44 1234567"</span>,
|
||||
<span class="string">"+44 2345678"</span>
|
||||
]
|
||||
});
|
||||
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"first phone number: {}"</span>, <span class="ident">john</span>[<span class="string">"phones"</span>][<span class="number">0</span>]);
|
||||
|
||||
<span class="comment">// Convert to a string of JSON and print it out</span>
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"{}"</span>, <span class="ident">john</span>.<span class="ident">to_string</span>());
|
||||
}</pre></div>
|
||||
<p>The <code>Value::to_string()</code> function converts a <code>serde_json::Value</code> into a
|
||||
<code>String</code> of JSON text.</p>
|
||||
<p>One neat thing about the <code>json!</code> macro is that variables and expressions can
|
||||
be interpolated directly into the JSON value as you are building it. Serde
|
||||
will check at compile time that the value you are interpolating is able to
|
||||
be represented as JSON.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">let</span> <span class="ident">full_name</span> <span class="op">=</span> <span class="string">"John Doe"</span>;
|
||||
<span class="kw">let</span> <span class="ident">age_last_year</span> <span class="op">=</span> <span class="number">42</span>;
|
||||
|
||||
<span class="comment">// The type of `john` is `serde_json::Value`</span>
|
||||
<span class="kw">let</span> <span class="ident">john</span> <span class="op">=</span> <span class="macro">json</span><span class="macro">!</span>({
|
||||
<span class="string">"name"</span>: <span class="ident">full_name</span>,
|
||||
<span class="string">"age"</span>: <span class="ident">age_last_year</span> <span class="op">+</span> <span class="number">1</span>,
|
||||
<span class="string">"phones"</span>: [
|
||||
<span class="macro">format</span><span class="macro">!</span>(<span class="string">"+44 {}"</span>, <span class="ident">random_phone</span>())
|
||||
]
|
||||
});</pre></div>
|
||||
<p>A string of JSON data can be parsed into a <code>serde_json::Value</code> by the
|
||||
<a href="https://docs.serde.rs/serde_json/de/fn.from_str.html"><code>serde_json::from_str</code></a> function. There is also
|
||||
<a href="https://docs.serde.rs/serde_json/de/fn.from_slice.html"><code>from_slice</code></a> for parsing from a byte slice <code>&[u8]</code> and
|
||||
<a href="https://docs.serde.rs/serde_json/de/fn.from_reader.html"><code>from_reader</code></a> for parsing from any <code>io::Read</code> like a File or
|
||||
a TCP stream.</p>
|
||||
|
||||
<div class="example-wrap"><pre class="rust rust-example-rendered">
|
||||
<span class="kw">use</span> <span class="ident">serde_json</span>::{<span class="ident">json</span>, <span class="ident">Value</span>, <span class="ident">Error</span>};
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">untyped_example</span>() <span class="op">-</span><span class="op">></span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span> {
|
||||
<span class="comment">// Some JSON input data as a &str. Maybe this comes from the user.</span>
|
||||
<span class="kw">let</span> <span class="ident">data</span> <span class="op">=</span> <span class="string">r#"
|
||||
{
|
||||
"name": "John Doe",
|
||||
"age": 43,
|
||||
"phones": [
|
||||
"+44 1234567",
|
||||
"+44 2345678"
|
||||
]
|
||||
}"#</span>;
|
||||
|
||||
<span class="comment">// Parse the string of data into serde_json::Value.</span>
|
||||
<span class="kw">let</span> <span class="ident">v</span>: <span class="ident">Value</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_str</span>(<span class="ident">data</span>)<span class="question-mark">?</span>;
|
||||
|
||||
<span class="comment">// Access parts of the data by indexing with square brackets.</span>
|
||||
<span class="macro">println</span><span class="macro">!</span>(<span class="string">"Please call {} at the number {}"</span>, <span class="ident">v</span>[<span class="string">"name"</span>], <span class="ident">v</span>[<span class="string">"phones"</span>][<span class="number">0</span>]);
|
||||
|
||||
<span class="prelude-val">Ok</span>(())
|
||||
}</pre></div>
|
||||
</div><h2 id="reexports" class="section-header"><a href="#reexports">Re-exports</a></h2>
|
||||
<table><tr><td><code>pub use crate::map::<a class="struct" href="../../serde_json/struct.Map.html" title="struct serde_json::Map">Map</a>;</code></td></tr></table><h2 id="structs" class="section-header"><a href="#structs">Structs</a></h2>
|
||||
<table><tr class="module-item"><td><a class="struct" href="struct.Number.html" title="serde_json::value::Number struct">Number</a></td><td class="docblock-short"><p>Represents a JSON number, whether integer or floating point.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="struct" href="struct.Serializer.html" title="serde_json::value::Serializer struct">Serializer</a></td><td class="docblock-short"><p>Serializer whose output is a <code>Value</code>.</p>
|
||||
</td></tr></table><h2 id="enums" class="section-header"><a href="#enums">Enums</a></h2>
|
||||
<table><tr class="module-item"><td><a class="enum" href="enum.Value.html" title="serde_json::value::Value enum">Value</a></td><td class="docblock-short"><p>Represents any valid JSON value.</p>
|
||||
</td></tr></table><h2 id="traits" class="section-header"><a href="#traits">Traits</a></h2>
|
||||
<table><tr class="module-item"><td><a class="trait" href="trait.Index.html" title="serde_json::value::Index trait">Index</a></td><td class="docblock-short"><p>A type that can be used to index into a <code>serde_json::Value</code>.</p>
|
||||
</td></tr></table><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2>
|
||||
<table><tr class="module-item"><td><a class="fn" href="fn.from_value.html" title="serde_json::value::from_value fn">from_value</a></td><td class="docblock-short"><p>Interpret a <code>serde_json::Value</code> as an instance of type <code>T</code>.</p>
|
||||
</td></tr><tr class="module-item"><td><a class="fn" href="fn.to_value.html" title="serde_json::value::to_value fn">to_value</a></td><td class="docblock-short"><p>Convert a <code>T</code> into <code>serde_json::Value</code> which is an enum that can represent
|
||||
any valid JSON data.</p>
|
||||
</td></tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><div id="rustdoc-vars" data-root-path="../../" data-current-crate="serde_json"></div>
|
||||
<script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../../serde_json/value/trait.Index.html">
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../../serde_json/value/trait.Index.html">../../../serde_json/value/trait.Index.html</a>...</p>
|
||||
<script>location.replace("../../../serde_json/value/trait.Index.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0;URL=../../../serde_json/value/struct.Serializer.html">
|
||||
</head>
|
||||
<body>
|
||||
<p>Redirecting to <a href="../../../serde_json/value/struct.Serializer.html">../../../serde_json/value/struct.Serializer.html</a>...</p>
|
||||
<script>location.replace("../../../serde_json/value/struct.Serializer.html" + location.search + location.hash);</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1 @@
|
||||
initSidebarItems({"enum":[["Value","Represents any valid JSON value."]],"fn":[["from_value","Interpret a `serde_json::Value` as an instance of type `T`."],["to_value","Convert a `T` into `serde_json::Value` which is an enum that can represent any valid JSON data."]],"struct":[["Number","Represents a JSON number, whether integer or floating point."],["Serializer","Serializer whose output is a `Value`."]],"trait":[["Index","A type that can be used to index into a `serde_json::Value`."]]});
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user