wasmer/rustdoc/serde_json/struct.Deserializer.html
2019-09-06 15:57:44 -07:00

116 lines
64 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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 `Deserializer` struct in crate `serde_json`."><meta name="keywords" content="rust, rustlang, rust-lang, Deserializer"><title>serde_json::Deserializer - 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="../dark.css"><link rel="stylesheet" type="text/css" href="../light.css" id="themeStyle"><script src="../storage.js"></script><noscript><link rel="stylesheet" href="../noscript.css"></noscript><link rel="shortcut icon" href="../favicon.ico"><style type="text/css">#crate-search{background-image:url("../down-arrow.svg");}</style></head><body class="rustdoc struct"><!--[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">&#9776;</div><a href='../serde_json/index.html'><div class='logo-container'><img src='../rust-logo.png' alt='logo'></div></a><p class='location'>Struct Deserializer</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.end">end</a><a href="#method.from_reader">from_reader</a><a href="#method.from_slice">from_slice</a><a href="#method.from_str">from_str</a><a href="#method.into_iter">into_iter</a><a href="#method.new">new</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Deserializer%3C%27de%3E">Deserializer&lt;&#39;de&gt;</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a></div></div><p class='location'><a href='index.html'>serde_json</a></p><script>window.sidebarCurrent = {name: 'Deserializer', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><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='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../src/serde_json/de.rs.html#24-30' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='index.html'>serde_json</a>::<wbr><a class="struct" href=''>Deserializer</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct Deserializer&lt;R&gt; { /* fields omitted */ }</pre></div><div class='docblock'><p>A structure that deserializes JSON into Rust values.</p>
</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl&lt;'de, R&gt; <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="../serde_json/de/trait.Read.html" title="trait serde_json::de::Read">Read</a>&lt;'de&gt;,&nbsp;</span></code><a href='#impl' class='anchor'></a><a class='srclink' href='../src/serde_json/de.rs.html#32-64' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code id='new.v'>pub fn <a href='#method.new' class='fnname'>new</a>(read: R) -&gt; Self</code><a class='srclink' href='../src/serde_json/de.rs.html#44-63' title='goto source code'>[src]</a></h4><div class='docblock'><p>Create a JSON deserializer from one of the possible serde_json input
sources.</p>
<p>Typically it is more convenient to use one of these methods instead:</p>
<ul>
<li>Deserializer::from_str</li>
<li>Deserializer::from_bytes</li>
<li>Deserializer::from_reader</li>
</ul>
</div></div><h3 id='impl-1' class='impl'><code class='in-band'>impl&lt;R&gt; <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;<a class="struct" href="../serde_json/de/struct.IoRead.html" title="struct serde_json::de::IoRead">IoRead</a>&lt;R&gt;&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/io/trait.Read.html" title="trait std::io::Read">Read</a>,&nbsp;</span></code><a href='#impl-1' class='anchor'></a><a class='srclink' href='../src/serde_json/de.rs.html#66-74' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from_reader' class="method"><code id='from_reader.v'>pub fn <a href='#method.from_reader' class='fnname'>from_reader</a>(reader: R) -&gt; Self</code><a class='srclink' href='../src/serde_json/de.rs.html#71-73' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a JSON deserializer from an <code>io::Read</code>.</p>
</div></div><h3 id='impl-2' class='impl'><code class='in-band'>impl&lt;'a&gt; <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;<a class="struct" href="../serde_json/de/struct.SliceRead.html" title="struct serde_json::de::SliceRead">SliceRead</a>&lt;'a&gt;&gt;</code><a href='#impl-2' class='anchor'></a><a class='srclink' href='../src/serde_json/de.rs.html#76-81' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from_slice' class="method"><code id='from_slice.v'>pub fn <a href='#method.from_slice' class='fnname'>from_slice</a>(bytes: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'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>) -&gt; Self</code><a class='srclink' href='../src/serde_json/de.rs.html#78-80' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a JSON deserializer from a <code>&amp;[u8]</code>.</p>
</div></div><h3 id='impl-3' class='impl'><code class='in-band'>impl&lt;'a&gt; <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;<a class="struct" href="../serde_json/de/struct.StrRead.html" title="struct serde_json::de::StrRead">StrRead</a>&lt;'a&gt;&gt;</code><a href='#impl-3' class='anchor'></a><a class='srclink' href='../src/serde_json/de.rs.html#83-88' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from_str' class="method"><code id='from_str.v'>pub fn <a href='#method.from_str' class='fnname'>from_str</a>(s: &amp;'a <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; Self</code><a class='srclink' href='../src/serde_json/de.rs.html#85-87' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates a JSON deserializer from a <code>&amp;str</code>.</p>
</div></div><h3 id='impl-4' class='impl'><code class='in-band'>impl&lt;'de, R:&nbsp;<a class="trait" href="../serde_json/de/trait.Read.html" title="trait serde_json::de::Read">Read</a>&lt;'de&gt;&gt; <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;R&gt;</code><a href='#impl-4' class='anchor'></a><a class='srclink' href='../src/serde_json/de.rs.html#131-1012' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.end' class="method"><code id='end.v'>pub fn <a href='#method.end' class='fnname'>end</a>(&amp;mut self) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</code><a class='srclink' href='../src/serde_json/de.rs.html#135-140' title='goto source code'>[src]</a></h4><div class='docblock'><p>The <code>Deserializer::end</code> method should be called after a value has been fully deserialized.
This allows the <code>Deserializer</code> to validate that the input stream is at the end or that it
only has trailing whitespace.</p>
</div><h4 id='method.into_iter' class="method"><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for <a class="struct" href="../serde_json/de/struct.StreamDeserializer.html" title="struct serde_json::de::StreamDeserializer">StreamDeserializer</a>&lt;'de, R, T&gt;</span></div><div class="content hidden"><h3 class="important">Important traits for <a class="struct" href="../serde_json/de/struct.StreamDeserializer.html" title="struct serde_json::de::StreamDeserializer">StreamDeserializer</a>&lt;'de, R, T&gt;</h3><code class="content"><span class="where fmt-newline">impl&lt;'de, R, T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html" title="trait core::iter::traits::iterator::Iterator">Iterator</a> for <a class="struct" href="../serde_json/de/struct.StreamDeserializer.html" title="struct serde_json::de::StreamDeserializer">StreamDeserializer</a>&lt;'de, R, T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="../serde_json/de/trait.Read.html" title="trait serde_json::de::Read">Read</a>&lt;'de&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,&nbsp;</span></span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/traits/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;T&gt;;</span></code></div></div><code id='into_iter.v'>pub fn <a href='#method.into_iter' class='fnname'>into_iter</a>&lt;T&gt;(self) -&gt; <a class="struct" href="../serde_json/de/struct.StreamDeserializer.html" title="struct serde_json::de::StreamDeserializer">StreamDeserializer</a>&lt;'de, R, T&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#143-156' title='goto source code'>[src]</a></h4><div class='docblock'><p>Turn a JSON deserializer into an iterator over values of type T.</p>
</div></div><h2 id='implementations' class='small-section-header'>Trait Implementations<a href='#implementations' class='anchor'></a></h2><div id='implementations-list'><h3 id='impl-Deserializer%3C%27de%3E' class='impl'><code class='in-band'>impl&lt;'de, 'a, R:&nbsp;<a class="trait" href="../serde_json/de/trait.Read.html" title="trait serde_json::de::Read">Read</a>&lt;'de&gt;&gt; <a class="trait" href="../serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt; for &amp;'a mut <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;R&gt;</code><a href='#impl-Deserializer%3C%27de%3E' class='anchor'></a><a class='srclink' href='../src/serde_json/de.rs.html#1102-1689' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>type <a href='../serde/de/trait.Deserializer.html#associatedtype.Error' class="type">Error</a> = <a class="struct" href="../serde_json/error/struct.Error.html" title="struct serde_json::error::Error">Error</a></code></h4><div class='docblock'><p>The error type that can be returned if some error occurs during deserialization. <a href="../serde/de/trait.Deserializer.html#associatedtype.Error">Read more</a></p>
</div><h4 id='method.deserialize_any' class="method hidden"><code id='deserialize_any.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_any' class='fnname'>deserialize_any</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1106-1180' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Require the <code>Deserializer</code> to figure out how to drive the visitor based on what data type is in the input. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_any">Read more</a></p>
</div><h4 id='method.deserialize_bool' class="method hidden"><code id='deserialize_bool.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_bool' class='fnname'>deserialize_bool</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1182-1211' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a <code>bool</code> value.</p>
</div><h4 id='method.deserialize_i8' class="method hidden"><code id='deserialize_i8.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_i8' class='fnname'>deserialize_i8</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting an <code>i8</code> value.</p>
</div><h4 id='method.deserialize_i16' class="method hidden"><code id='deserialize_i16.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_i16' class='fnname'>deserialize_i16</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting an <code>i16</code> value.</p>
</div><h4 id='method.deserialize_i32' class="method hidden"><code id='deserialize_i32.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_i32' class='fnname'>deserialize_i32</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting an <code>i32</code> value.</p>
</div><h4 id='method.deserialize_i64' class="method hidden"><code id='deserialize_i64.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_i64' class='fnname'>deserialize_i64</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting an <code>i64</code> value.</p>
</div><h4 id='method.deserialize_u8' class="method hidden"><code id='deserialize_u8.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_u8' class='fnname'>deserialize_u8</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a <code>u8</code> value.</p>
</div><h4 id='method.deserialize_u16' class="method hidden"><code id='deserialize_u16.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_u16' class='fnname'>deserialize_u16</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a <code>u16</code> value.</p>
</div><h4 id='method.deserialize_u32' class="method hidden"><code id='deserialize_u32.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_u32' class='fnname'>deserialize_u32</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a <code>u32</code> value.</p>
</div><h4 id='method.deserialize_u64' class="method hidden"><code id='deserialize_u64.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_u64' class='fnname'>deserialize_u64</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a <code>u64</code> value.</p>
</div><h4 id='method.deserialize_f32' class="method hidden"><code id='deserialize_f32.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_f32' class='fnname'>deserialize_f32</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a <code>f32</code> value.</p>
</div><h4 id='method.deserialize_f64' class="method hidden"><code id='deserialize_f64.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_f64' class='fnname'>deserialize_f64</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1060-1065' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a <code>f64</code> value.</p>
</div><h4 id='method.deserialize_i128' class="method hidden"><code id='deserialize_i128.v'>fn <a href='../serde/de/trait.Deserializer.html#method.deserialize_i128' class='fnname'>deserialize_i128</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1225-1255' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting an <code>i128</code> value. <a href="../serde/de/trait.Deserializer.html#method.deserialize_i128">Read more</a></p>
</div><h4 id='method.deserialize_u128' class="method hidden"><code id='deserialize_u128.v'>fn <a href='../serde/de/trait.Deserializer.html#method.deserialize_u128' class='fnname'>deserialize_u128</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1257-1285' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting an <code>u128</code> value. <a href="../serde/de/trait.Deserializer.html#method.deserialize_u128">Read more</a></p>
</div><h4 id='method.deserialize_char' class="method hidden"><code id='deserialize_char.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_char' class='fnname'>deserialize_char</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1288-1293' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a <code>char</code> value.</p>
</div><h4 id='method.deserialize_str' class="method hidden"><code id='deserialize_str.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_str' class='fnname'>deserialize_str</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1295-1322' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a string value and does not benefit from taking ownership of buffered data owned by the <code>Deserializer</code>. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_str">Read more</a></p>
</div><h4 id='method.deserialize_string' class="method hidden"><code id='deserialize_string.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_string' class='fnname'>deserialize_string</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1324-1329' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a string value and would benefit from taking ownership of buffered data owned by the <code>Deserializer</code>. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_string">Read more</a></p>
</div><h4 id='method.deserialize_bytes' class="method"><code id='deserialize_bytes.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_bytes' class='fnname'>deserialize_bytes</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1406-1434' title='goto source code'>[src]</a></h4><div class='docblock'><p>Parses a JSON string as bytes. Note that this function does not check
whether the bytes represent a valid UTF-8 string.</p>
<p>The relevant part of the JSON specification is Section 8.2 of <a href="https://tools.ietf.org/html/rfc7159">RFC
7159</a>:</p>
<blockquote>
<p>When all the strings represented in a JSON text are composed entirely
of Unicode characters (however escaped), then that JSON text is
interoperable in the sense that all software implementations that
parse it will agree on the contents of names and of string values in
objects and arrays.</p>
<p>However, the ABNF in this specification allows member names and string
values to contain bit sequences that cannot encode Unicode characters;
for example, &quot;\uDEAD&quot; (a single unpaired UTF-16 surrogate). Instances
of this have been observed, for example, when a library truncates a
UTF-16 string without checking whether the truncation split a
surrogate pair. The behavior of software that receives JSON texts
containing such values is unpredictable; for example, implementations
might return different values for the length of a string value or even
suffer fatal runtime exceptions.</p>
</blockquote>
<p>The behavior of serde_json is specified to fail on non-UTF-8 strings
when deserializing into Rust UTF-8 string types such as String, and
succeed with non-UTF-8 bytes when deserializing using this method.</p>
<p>Escape sequences are processed as usual, and for <code>\uXXXX</code> escapes it is
still checked if the hex number represents a valid Unicode code point.</p>
<h1 id="examples" class="section-header"><a href="#examples">Examples</a></h1>
<p>You can use this to parse JSON strings containing invalid UTF-8 bytes.</p>
<div class='information'><div class='tooltip edition'><span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
<span class="kw">use</span> <span class="ident">serde_bytes</span>::<span class="ident">ByteBuf</span>;
<span class="kw">fn</span> <span class="ident">look_at_bytes</span>() <span class="op">-</span><span class="op">&gt;</span> <span class="prelude-ty">Result</span><span class="op">&lt;</span>(), <span class="ident">serde_json</span>::<span class="ident">Error</span><span class="op">&gt;</span> {
<span class="kw">let</span> <span class="ident">json_data</span> <span class="op">=</span> <span class="string">b&quot;\&quot;some bytes: \xe5\x00\xe5\&quot;&quot;</span>;
<span class="kw">let</span> <span class="ident">bytes</span>: <span class="ident">ByteBuf</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="ident">json_data</span>)<span class="question-mark">?</span>;
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="string">b&#39;\xe5&#39;</span>, <span class="ident">bytes</span>[<span class="number">12</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="string">b&#39;\0&#39;</span>, <span class="ident">bytes</span>[<span class="number">13</span>]);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="string">b&#39;\xe5&#39;</span>, <span class="ident">bytes</span>[<span class="number">14</span>]);
<span class="prelude-val">Ok</span>(())
}</pre></div>
<p>Backslash escape sequences like <code>\n</code> are still interpreted and required
to be valid, and <code>\u</code> escape sequences are required to represent valid
Unicode code points.</p>
<div class='information'><div class='tooltip edition'><span class='tooltiptext'>This code runs with edition 2018</span></div></div><div class="example-wrap"><pre class="rust rust-example-rendered edition ">
<span class="kw">use</span> <span class="ident">serde_bytes</span>::<span class="ident">ByteBuf</span>;
<span class="kw">fn</span> <span class="ident">look_at_bytes</span>() {
<span class="kw">let</span> <span class="ident">json_data</span> <span class="op">=</span> <span class="string">b&quot;\&quot;invalid unicode surrogate: \\uD801\&quot;&quot;</span>;
<span class="kw">let</span> <span class="ident">parsed</span>: <span class="prelude-ty">Result</span><span class="op">&lt;</span><span class="ident">ByteBuf</span>, <span class="kw">_</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">serde_json</span>::<span class="ident">from_slice</span>(<span class="ident">json_data</span>);
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">is_err</span>());
<span class="kw">let</span> <span class="ident">expected_msg</span> <span class="op">=</span> <span class="string">&quot;unexpected end of hex escape at line 1 column 35&quot;</span>;
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">expected_msg</span>, <span class="ident">parsed</span>.<span class="ident">unwrap_err</span>().<span class="ident">to_string</span>());
}</pre></div>
</div><h4 id='method.deserialize_byte_buf' class="method hidden"><code id='deserialize_byte_buf.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_byte_buf' class='fnname'>deserialize_byte_buf</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1437-1442' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a byte array and would benefit from taking ownership of buffered data owned by the <code>Deserializer</code>. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_byte_buf">Read more</a></p>
</div><h4 id='method.deserialize_option' class="method"><code id='deserialize_option.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_option' class='fnname'>deserialize_option</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1446-1458' title='goto source code'>[src]</a></h4><div class='docblock'><p>Parses a <code>null</code> as a None, and any other values as a <code>Some(...)</code>.</p>
</div><h4 id='method.deserialize_unit' class="method hidden"><code id='deserialize_unit.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_unit' class='fnname'>deserialize_unit</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1460-1484' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a unit value.</p>
</div><h4 id='method.deserialize_unit_struct' class="method hidden"><code id='deserialize_unit_struct.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_unit_struct' class='fnname'>deserialize_unit_struct</a>&lt;V&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_name: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;visitor: V<br>) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1486-1491' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a unit struct with a particular name. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_unit_struct">Read more</a></p>
</div><h4 id='method.deserialize_newtype_struct' class="method"><code id='deserialize_newtype_struct.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_newtype_struct' class='fnname'>deserialize_newtype_struct</a>&lt;V&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;visitor: V<br>) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1495-1508' title='goto source code'>[src]</a></h4><div class='docblock'><p>Parses a newtype struct as the underlying value.</p>
</div><h4 id='method.deserialize_seq' class="method hidden"><code id='deserialize_seq.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_seq' class='fnname'>deserialize_seq</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1510-1540' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a sequence of values.</p>
</div><h4 id='method.deserialize_tuple' class="method hidden"><code id='deserialize_tuple.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_tuple' class='fnname'>deserialize_tuple</a>&lt;V&gt;(self, _len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1542-1547' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a sequence of values and knows how many values there are without looking at the serialized data. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_tuple">Read more</a></p>
</div><h4 id='method.deserialize_tuple_struct' class="method hidden"><code id='deserialize_tuple_struct.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_tuple_struct' class='fnname'>deserialize_tuple_struct</a>&lt;V&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_name: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;_len: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;visitor: V<br>) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1549-1559' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a tuple struct with a particular name and number of fields. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_tuple_struct">Read more</a></p>
</div><h4 id='method.deserialize_map' class="method hidden"><code id='deserialize_map.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_map' class='fnname'>deserialize_map</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1561-1591' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a map of key-value pairs.</p>
</div><h4 id='method.deserialize_struct' class="method hidden"><code id='deserialize_struct.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_struct' class='fnname'>deserialize_struct</a>&lt;V&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_name: &amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;_fields: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'static [</a>&amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;visitor: V<br>) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1593-1639' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting a struct with a particular name and fields. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_struct">Read more</a></p>
</div><h4 id='method.deserialize_enum' class="method"><code id='deserialize_enum.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_enum' class='fnname'>deserialize_enum</a>&lt;V&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;self, <br>&nbsp;&nbsp;&nbsp;&nbsp;_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;_variants: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;'static [</a>&amp;'static <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>, <br>&nbsp;&nbsp;&nbsp;&nbsp;visitor: V<br>) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1644-1673' title='goto source code'>[src]</a></h4><div class='docblock'><p>Parses an enum as an object like <code>{&quot;$KEY&quot;:$VALUE}</code>, where $VALUE is either a straight
value, a <code>[..]</code>, or a <code>{..}</code>.</p>
</div><h4 id='method.deserialize_identifier' class="method hidden"><code id='deserialize_identifier.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_identifier' class='fnname'>deserialize_identifier</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1675-1680' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type is expecting the name of a struct field or the discriminant of an enum variant. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_identifier">Read more</a></p>
</div><h4 id='method.deserialize_ignored_any' class="method hidden"><code id='deserialize_ignored_any.v'>fn <a href='../serde/de/trait.Deserializer.html#tymethod.deserialize_ignored_any' class='fnname'>deserialize_ignored_any</a>&lt;V&gt;(self, visitor: V) -&gt; <a class="type" href="../serde_json/type.Result.html" title="type serde_json::Result">Result</a>&lt;V::<a class="type" href="../serde/de/trait.Visitor.html#associatedtype.Value" title="type serde::de::Visitor::Value">Value</a>&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../serde/de/trait.Visitor.html" title="trait serde::de::Visitor">Visitor</a>&lt;'de&gt;,&nbsp;</span></code><a class='srclink' href='../src/serde_json/de.rs.html#1682-1688' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Hint that the <code>Deserialize</code> type needs to deserialize a value whose type doesn't matter because it is ignored. <a href="../serde/de/trait.Deserializer.html#tymethod.deserialize_ignored_any">Read more</a></p>
</div><h4 id='method.is_human_readable' class="method hidden"><code id='is_human_readable.v'>fn <a href='../serde/de/trait.Deserializer.html#method.is_human_readable' class='fnname'>is_human_readable</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code><a class='srclink' href='../src/serde/de/mod.rs.html#1207-1209' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Determine whether <code>Deserialize</code> implementations should expect to deserialize their human-readable form. <a href="../serde/de/trait.Deserializer.html#method.is_human_readable">Read more</a></p>
</div></div></div><h2 id='synthetic-implementations' class='small-section-header'>Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a></h2><div id='synthetic-implementations-list'><h3 id='impl-Sync' class='impl'><code class='in-band'>impl&lt;R&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,&nbsp;</span></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Send' class='impl'><code class='in-band'>impl&lt;R&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,&nbsp;</span></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl&lt;R&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,&nbsp;</span></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl&lt;R&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a>,&nbsp;</span></code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-RefUnwindSafe' class='impl'><code class='in-band'>impl&lt;R&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../serde_json/de/struct.Deserializer.html" title="struct serde_json::de::Deserializer">Deserializer</a>&lt;R&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;R: <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a>,&nbsp;</span></code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#543-548' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#545-547' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#552-554' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#553' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#571-577' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code id='Error.t-1'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#574-576' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#559-566' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-2' class="type"><code id='Error.t-2'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error' class="type">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_into' class="method hidden"><code id='try_into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into' class='fnname'>try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert.rs.html#563-565' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#218-220' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code id='borrow_mut.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#219' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-215' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code id='borrow.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-Any' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#100-102' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code id='type_id.v'>fn <a href='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id' class='fnname'>type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#101' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g., <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g., <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../";window.currentCrate = "serde_json";</script><script src="../aliases.js"></script><script src="../main.js"></script><script defer src="../search-index.js"></script></body></html>