deploy: b5378e8deb
This commit is contained in:
1 parent
b4e4dbe346
commit
e5ef5a4cd3
261 files changed
+4526
-4483
No files matched your search
+134
-134
@@ -22,44 +22,44 @@
|
||||
<span class=kt>int</span><span class=w> </span><span class=nf>main</span><span class=p>()</span>
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=c1>// a JSON text</span>
|
||||
<span class=w> </span><span class=kt>char</span><span class=w> </span><span class=n>text</span><span class=p>[]</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=w> </span><span class=kt>char</span><span class=w> </span><span class=n>text</span><span class=p>[]</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=s> {</span>
|
||||
<span class=s> "Image": {</span>
|
||||
<span class=s> "Width": 800,</span>
|
||||
<span class=s> "Height": 600,</span>
|
||||
<span class=s> "Title": "View from 15th Floor",</span>
|
||||
<span class=s> "Thumbnail": {</span>
|
||||
<span class=s> "Url": "http://www.example.com/image/481989943",</span>
|
||||
<span class=s> "Height": 125,</span>
|
||||
<span class=s> "Width": 100</span>
|
||||
<span class=s> "Image": {</span>
|
||||
<span class=s> "Width": 800,</span>
|
||||
<span class=s> "Height": 600,</span>
|
||||
<span class=s> "Title": "View from 15th Floor",</span>
|
||||
<span class=s> "Thumbnail": {</span>
|
||||
<span class=s> "Url": "http://www.example.com/image/481989943",</span>
|
||||
<span class=s> "Height": 125,</span>
|
||||
<span class=s> "Width": 100</span>
|
||||
<span class=s> },</span>
|
||||
<span class=s> "Animated" : false,</span>
|
||||
<span class=s> "IDs": [116, 943, 234, 38793]</span>
|
||||
<span class=s> "Animated" : false,</span>
|
||||
<span class=s> "IDs": [116, 943, 234, 38793]</span>
|
||||
<span class=s> }</span>
|
||||
<span class=s> }</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
|
||||
<span class=w> </span><span class=c1>// parse and serialize JSON</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse</span><span class=p>(</span><span class=n>text</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=mi>116</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>943</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>234</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>38793</span>
|
||||
<span class=w> </span><span class=p>],</span>
|
||||
<span class=w> </span><span class=nt>"Thumbnail"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>125</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://www.example.com/image/481989943"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>100</span>
|
||||
<span class=w> </span><span class=nt>"Thumbnail"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>125</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://www.example.com/image/481989943"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>100</span>
|
||||
<span class=w> </span><span class=p>},</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=p>}</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> </details> <details class=example> <summary>Parsing from a string</summary> <p>The example below demonstrates the <code>parse()</code> function with and without callback function.</p> <div class=highlight><pre><span></span><code><span class=cp>#include</span><span class=w> </span><span class=cpf><iostream></span>
|
||||
@@ -71,32 +71,32 @@
|
||||
<span class=kt>int</span><span class=w> </span><span class=nf>main</span><span class=p>()</span>
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=c1>// a JSON text</span>
|
||||
<span class=w> </span><span class=k>auto</span><span class=w> </span><span class=n>text</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=w> </span><span class=k>auto</span><span class=w> </span><span class=n>text</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=s> {</span>
|
||||
<span class=s> "Image": {</span>
|
||||
<span class=s> "Width": 800,</span>
|
||||
<span class=s> "Height": 600,</span>
|
||||
<span class=s> "Title": "View from 15th Floor",</span>
|
||||
<span class=s> "Thumbnail": {</span>
|
||||
<span class=s> "Url": "http://www.example.com/image/481989943",</span>
|
||||
<span class=s> "Height": 125,</span>
|
||||
<span class=s> "Width": 100</span>
|
||||
<span class=s> "Image": {</span>
|
||||
<span class=s> "Width": 800,</span>
|
||||
<span class=s> "Height": 600,</span>
|
||||
<span class=s> "Title": "View from 15th Floor",</span>
|
||||
<span class=s> "Thumbnail": {</span>
|
||||
<span class=s> "Url": "http://www.example.com/image/481989943",</span>
|
||||
<span class=s> "Height": 125,</span>
|
||||
<span class=s> "Width": 100</span>
|
||||
<span class=s> },</span>
|
||||
<span class=s> "Animated" : false,</span>
|
||||
<span class=s> "IDs": [116, 943, 234, 38793]</span>
|
||||
<span class=s> "Animated" : false,</span>
|
||||
<span class=s> "IDs": [116, 943, 234, 38793]</span>
|
||||
<span class=s> }</span>
|
||||
<span class=s> }</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
|
||||
<span class=w> </span><span class=c1>// parse and serialize JSON</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse</span><span class=p>(</span><span class=n>text</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
|
||||
<span class=w> </span><span class=c1>// define parser callback</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parser_callback_t</span><span class=w> </span><span class=n>cb</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=p>[](</span><span class=kt>int</span><span class=w> </span><span class=n>depth</span><span class=p>,</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse_event_t</span><span class=w> </span><span class=n>event</span><span class=p>,</span><span class=w> </span><span class=n>json</span><span class=w> </span><span class=o>&</span><span class=w> </span><span class=n>parsed</span><span class=p>)</span>
|
||||
<span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=c1>// skip object elements with key "Thumbnail"</span>
|
||||
<span class=w> </span><span class=k>if</span><span class=w> </span><span class=p>(</span><span class=n>event</span><span class=w> </span><span class=o>==</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse_event_t</span><span class=o>::</span><span class=n>key</span><span class=w> </span><span class=k>and</span><span class=w> </span><span class=n>parsed</span><span class=w> </span><span class=o>==</span><span class=w> </span><span class=n>json</span><span class=p>(</span><span class=s>"Thumbnail"</span><span class=p>))</span>
|
||||
<span class=w> </span><span class=c1>// skip object elements with key "Thumbnail"</span>
|
||||
<span class=w> </span><span class=k>if</span><span class=w> </span><span class=p>(</span><span class=n>event</span><span class=w> </span><span class=o>==</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse_event_t</span><span class=o>::</span><span class=n>key</span><span class=w> </span><span class=k>and</span><span class=w> </span><span class=n>parsed</span><span class=w> </span><span class=o>==</span><span class=w> </span><span class=n>json</span><span class=p>(</span><span class=s>"Thumbnail"</span><span class=p>))</span>
|
||||
<span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=k>return</span><span class=w> </span><span class=nb>false</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=p>}</span>
|
||||
@@ -108,40 +108,40 @@
|
||||
|
||||
<span class=w> </span><span class=c1>// parse (with callback) and serialize JSON</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=w> </span><span class=n>j_filtered</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse</span><span class=p>(</span><span class=n>text</span><span class=p>,</span><span class=w> </span><span class=n>cb</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_filtered</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=sc>'\n'</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_filtered</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=sc>'\n'</span><span class=p>;</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=mi>116</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>943</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>234</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>38793</span>
|
||||
<span class=w> </span><span class=p>],</span>
|
||||
<span class=w> </span><span class=nt>"Thumbnail"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>125</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://www.example.com/image/481989943"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>100</span>
|
||||
<span class=w> </span><span class=nt>"Thumbnail"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>125</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://www.example.com/image/481989943"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>100</span>
|
||||
<span class=w> </span><span class=p>},</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=p>}</span>
|
||||
<span class=p>}</span>
|
||||
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=mi>116</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>943</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>234</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>38793</span>
|
||||
<span class=w> </span><span class=p>],</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=p>}</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> </details> <details class=example> <summary>Parsing from an input stream</summary> <p>The example below demonstrates the <code>parse()</code> function with and without callback function.</p> <div class=highlight><pre><span></span><code><span class=cp>#include</span><span class=w> </span><span class=cpf><iostream></span>
|
||||
@@ -154,22 +154,22 @@
|
||||
<span class=kt>int</span><span class=w> </span><span class=nf>main</span><span class=p>()</span>
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=c1>// a JSON text</span>
|
||||
<span class=w> </span><span class=k>auto</span><span class=w> </span><span class=n>text</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=w> </span><span class=k>auto</span><span class=w> </span><span class=n>text</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=s> {</span>
|
||||
<span class=s> "Image": {</span>
|
||||
<span class=s> "Width": 800,</span>
|
||||
<span class=s> "Height": 600,</span>
|
||||
<span class=s> "Title": "View from 15th Floor",</span>
|
||||
<span class=s> "Thumbnail": {</span>
|
||||
<span class=s> "Url": "http://www.example.com/image/481989943",</span>
|
||||
<span class=s> "Height": 125,</span>
|
||||
<span class=s> "Width": 100</span>
|
||||
<span class=s> "Image": {</span>
|
||||
<span class=s> "Width": 800,</span>
|
||||
<span class=s> "Height": 600,</span>
|
||||
<span class=s> "Title": "View from 15th Floor",</span>
|
||||
<span class=s> "Thumbnail": {</span>
|
||||
<span class=s> "Url": "http://www.example.com/image/481989943",</span>
|
||||
<span class=s> "Height": 125,</span>
|
||||
<span class=s> "Width": 100</span>
|
||||
<span class=s> },</span>
|
||||
<span class=s> "Animated" : false,</span>
|
||||
<span class=s> "IDs": [116, 943, 234, 38793]</span>
|
||||
<span class=s> "Animated" : false,</span>
|
||||
<span class=s> "IDs": [116, 943, 234, 38793]</span>
|
||||
<span class=s> }</span>
|
||||
<span class=s> }</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
|
||||
<span class=w> </span><span class=c1>// fill a stream with JSON text</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>stringstream</span><span class=w> </span><span class=n>ss</span><span class=p>;</span>
|
||||
@@ -177,13 +177,13 @@
|
||||
|
||||
<span class=w> </span><span class=c1>// parse and serialize JSON</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse</span><span class=p>(</span><span class=n>ss</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
|
||||
<span class=w> </span><span class=c1>// define parser callback</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parser_callback_t</span><span class=w> </span><span class=n>cb</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=p>[](</span><span class=kt>int</span><span class=w> </span><span class=n>depth</span><span class=p>,</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse_event_t</span><span class=w> </span><span class=n>event</span><span class=p>,</span><span class=w> </span><span class=n>json</span><span class=w> </span><span class=o>&</span><span class=w> </span><span class=n>parsed</span><span class=p>)</span>
|
||||
<span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=c1>// skip object elements with key "Thumbnail"</span>
|
||||
<span class=w> </span><span class=k>if</span><span class=w> </span><span class=p>(</span><span class=n>event</span><span class=w> </span><span class=o>==</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse_event_t</span><span class=o>::</span><span class=n>key</span><span class=w> </span><span class=k>and</span><span class=w> </span><span class=n>parsed</span><span class=w> </span><span class=o>==</span><span class=w> </span><span class=n>json</span><span class=p>(</span><span class=s>"Thumbnail"</span><span class=p>))</span>
|
||||
<span class=w> </span><span class=c1>// skip object elements with key "Thumbnail"</span>
|
||||
<span class=w> </span><span class=k>if</span><span class=w> </span><span class=p>(</span><span class=n>event</span><span class=w> </span><span class=o>==</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse_event_t</span><span class=o>::</span><span class=n>key</span><span class=w> </span><span class=k>and</span><span class=w> </span><span class=n>parsed</span><span class=w> </span><span class=o>==</span><span class=w> </span><span class=n>json</span><span class=p>(</span><span class=s>"Thumbnail"</span><span class=p>))</span>
|
||||
<span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=k>return</span><span class=w> </span><span class=nb>false</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=p>}</span>
|
||||
@@ -199,40 +199,40 @@
|
||||
|
||||
<span class=w> </span><span class=c1>// parse (with callback) and serialize JSON</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=w> </span><span class=n>j_filtered</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse</span><span class=p>(</span><span class=n>ss</span><span class=p>,</span><span class=w> </span><span class=n>cb</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_filtered</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=sc>'\n'</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_filtered</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=sc>'\n'</span><span class=p>;</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=mi>116</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>943</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>234</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>38793</span>
|
||||
<span class=w> </span><span class=p>],</span>
|
||||
<span class=w> </span><span class=nt>"Thumbnail"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>125</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://www.example.com/image/481989943"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>100</span>
|
||||
<span class=w> </span><span class=nt>"Thumbnail"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>125</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://www.example.com/image/481989943"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>100</span>
|
||||
<span class=w> </span><span class=p>},</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=p>}</span>
|
||||
<span class=p>}</span>
|
||||
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=nt>"Image"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=nt>"Animated"</span><span class=p>:</span><span class=w> </span><span class=kc>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Height"</span><span class=p>:</span><span class=w> </span><span class=mi>600</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"IDs"</span><span class=p>:</span><span class=w> </span><span class=p>[</span>
|
||||
<span class=w> </span><span class=mi>116</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>943</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>234</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=mi>38793</span>
|
||||
<span class=w> </span><span class=p>],</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=nt>"Title"</span><span class=p>:</span><span class=w> </span><span class=s2>"View from 15th Floor"</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=nt>"Width"</span><span class=p>:</span><span class=w> </span><span class=mi>800</span>
|
||||
<span class=w> </span><span class=p>}</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> </details> <details class=example> <summary>Parsing from a contiguous container</summary> <p>The example below demonstrates the <code>parse()</code> function reading from a contiguous container.</p> <div class=highlight><pre><span></span><code><span class=cp>#include</span><span class=w> </span><span class=cpf><iostream></span>
|
||||
@@ -244,11 +244,11 @@
|
||||
<span class=kt>int</span><span class=w> </span><span class=nf>main</span><span class=p>()</span>
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=c1>// a JSON text given as std::vector</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>vector</span><span class=o><</span><span class=n>std</span><span class=o>::</span><span class=kt>uint8_t</span><span class=o>></span><span class=w> </span><span class=n>text</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=p>{</span><span class=sc>'['</span><span class=p>,</span><span class=w> </span><span class=sc>'1'</span><span class=p>,</span><span class=w> </span><span class=sc>','</span><span class=p>,</span><span class=w> </span><span class=sc>'2'</span><span class=p>,</span><span class=w> </span><span class=sc>','</span><span class=p>,</span><span class=w> </span><span class=sc>'3'</span><span class=p>,</span><span class=w> </span><span class=sc>']'</span><span class=p>,</span><span class=w> </span><span class=sc>'\0'</span><span class=p>};</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>vector</span><span class=o><</span><span class=n>std</span><span class=o>::</span><span class=kt>uint8_t</span><span class=o>></span><span class=w> </span><span class=n>text</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=p>{</span><span class=sc>'['</span><span class=p>,</span><span class=w> </span><span class=sc>'1'</span><span class=p>,</span><span class=w> </span><span class=sc>','</span><span class=p>,</span><span class=w> </span><span class=sc>'2'</span><span class=p>,</span><span class=w> </span><span class=sc>','</span><span class=p>,</span><span class=w> </span><span class=sc>'3'</span><span class=p>,</span><span class=w> </span><span class=sc>']'</span><span class=p>,</span><span class=w> </span><span class=sc>'\0'</span><span class=p>};</span>
|
||||
|
||||
<span class=w> </span><span class=c1>// parse and serialize JSON</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse</span><span class=p>(</span><span class=n>text</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code><span class=p>[</span>
|
||||
<span class=w> </span><span class=mi>1</span><span class=p>,</span>
|
||||
@@ -264,11 +264,11 @@
|
||||
<span class=kt>int</span><span class=w> </span><span class=nf>main</span><span class=p>()</span>
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=c1>// a JSON text given as string that is not null-terminated</span>
|
||||
<span class=w> </span><span class=k>const</span><span class=w> </span><span class=kt>char</span><span class=o>*</span><span class=w> </span><span class=n>ptr</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=s>"[1,2,3]another value"</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=k>const</span><span class=w> </span><span class=kt>char</span><span class=o>*</span><span class=w> </span><span class=n>ptr</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=s>"[1,2,3]another value"</span><span class=p>;</span>
|
||||
|
||||
<span class=w> </span><span class=c1>// parse and serialize JSON</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse</span><span class=p>(</span><span class=n>ptr</span><span class=p>,</span><span class=w> </span><span class=n>ptr</span><span class=w> </span><span class=o>+</span><span class=w> </span><span class=mi>7</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code><span class=p>[</span>
|
||||
<span class=w> </span><span class=mi>1</span><span class=p>,</span>
|
||||
@@ -284,11 +284,11 @@
|
||||
<span class=kt>int</span><span class=w> </span><span class=nf>main</span><span class=p>()</span>
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=c1>// a JSON text given an input with other values</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>vector</span><span class=o><</span><span class=n>std</span><span class=o>::</span><span class=kt>uint8_t</span><span class=o>></span><span class=w> </span><span class=n>input</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=p>{</span><span class=sc>'['</span><span class=p>,</span><span class=w> </span><span class=sc>'1'</span><span class=p>,</span><span class=w> </span><span class=sc>','</span><span class=p>,</span><span class=w> </span><span class=sc>'2'</span><span class=p>,</span><span class=w> </span><span class=sc>','</span><span class=p>,</span><span class=w> </span><span class=sc>'3'</span><span class=p>,</span><span class=w> </span><span class=sc>']'</span><span class=p>,</span><span class=w> </span><span class=sc>'o'</span><span class=p>,</span><span class=w> </span><span class=sc>'t'</span><span class=p>,</span><span class=w> </span><span class=sc>'h'</span><span class=p>,</span><span class=w> </span><span class=sc>'e'</span><span class=p>,</span><span class=w> </span><span class=sc>'r'</span><span class=p>};</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>vector</span><span class=o><</span><span class=n>std</span><span class=o>::</span><span class=kt>uint8_t</span><span class=o>></span><span class=w> </span><span class=n>input</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=p>{</span><span class=sc>'['</span><span class=p>,</span><span class=w> </span><span class=sc>'1'</span><span class=p>,</span><span class=w> </span><span class=sc>','</span><span class=p>,</span><span class=w> </span><span class=sc>'2'</span><span class=p>,</span><span class=w> </span><span class=sc>','</span><span class=p>,</span><span class=w> </span><span class=sc>'3'</span><span class=p>,</span><span class=w> </span><span class=sc>']'</span><span class=p>,</span><span class=w> </span><span class=sc>'o'</span><span class=p>,</span><span class=w> </span><span class=sc>'t'</span><span class=p>,</span><span class=w> </span><span class=sc>'h'</span><span class=p>,</span><span class=w> </span><span class=sc>'e'</span><span class=p>,</span><span class=w> </span><span class=sc>'r'</span><span class=p>};</span>
|
||||
|
||||
<span class=w> </span><span class=c1>// parse and serialize JSON</span>
|
||||
<span class=w> </span><span class=n>json</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=n>json</span><span class=o>::</span><span class=n>parse</span><span class=p>(</span><span class=n>input</span><span class=p>.</span><span class=n>begin</span><span class=p>(),</span><span class=w> </span><span class=n>input</span><span class=p>.</span><span class=n>begin</span><span class=p>()</span><span class=w> </span><span class=o>+</span><span class=w> </span><span class=mi>7</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>setw</span><span class=p>(</span><span class=mi>4</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j_complete</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"</span><span class=se>\n\n</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code><span class=p>[</span>
|
||||
<span class=w> </span><span class=mi>1</span><span class=p>,</span>
|
||||
@@ -303,11 +303,11 @@
|
||||
<span class=kt>int</span><span class=w> </span><span class=nf>main</span><span class=p>()</span>
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=c1>// an invalid JSON text</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>string</span><span class=w> </span><span class=n>text</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>string</span><span class=w> </span><span class=n>text</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=s> {</span>
|
||||
<span class=s> "key": "value without closing quotes</span>
|
||||
<span class=s> "key": "value without closing quotes</span>
|
||||
<span class=s> }</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
|
||||
<span class=w> </span><span class=c1>// parse with exceptions</span>
|
||||
<span class=w> </span><span class=k>try</span>
|
||||
@@ -324,14 +324,14 @@
|
||||
|
||||
<span class=w> </span><span class=k>if</span><span class=w> </span><span class=p>(</span><span class=n>j</span><span class=p>.</span><span class=n>is_discarded</span><span class=p>())</span>
|
||||
<span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"the input is invalid JSON"</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>endl</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"the input is invalid JSON"</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>endl</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=p>}</span>
|
||||
<span class=w> </span><span class=k>else</span>
|
||||
<span class=w> </span><span class=p>{</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"the input is valid JSON: "</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>endl</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=s>"the input is valid JSON: "</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>endl</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=p>}</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code><span class=p>[</span><span class=err>jso</span><span class=kc>n</span><span class=err>.excep</span><span class=kc>t</span><span class=err>io</span><span class=kc>n</span><span class=err>.parse_error.</span><span class=mi>101</span><span class=p>]</span><span class=w> </span><span class=err>parse</span><span class=w> </span><span class=err>error</span><span class=w> </span><span class=err>a</span><span class=kc>t</span><span class=w> </span><span class=err>li</span><span class=kc>ne</span><span class=w> </span><span class=mi>4</span><span class=p>,</span><span class=w> </span><span class=err>colum</span><span class=kc>n</span><span class=w> </span><span class=mi>0</span><span class=p>:</span><span class=w> </span><span class=err>sy</span><span class=kc>nta</span><span class=err>x</span><span class=w> </span><span class=err>error</span><span class=w> </span><span class=err>while</span><span class=w> </span><span class=err>parsi</span><span class=kc>n</span><span class=err>g</span><span class=w> </span><span class=err>value</span><span class=w> </span><span class=mi>-</span><span class=w> </span><span class=err>i</span><span class=kc>n</span><span class=err>valid</span><span class=w> </span><span class=err>s</span><span class=kc>tr</span><span class=err>i</span><span class=kc>n</span><span class=err>g</span><span class=p>:</span><span class=w> </span><span class=err>co</span><span class=kc>ntr</span><span class=err>ol</span><span class=w> </span><span class=err>charac</span><span class=kc>ter</span><span class=w> </span><span class=err>U+</span><span class=mi>000</span><span class=err>A</span><span class=w> </span><span class=err>(LF)</span><span class=w> </span><span class=err>mus</span><span class=kc>t</span><span class=w> </span><span class=err>be</span><span class=w> </span><span class=err>escaped</span><span class=w> </span><span class=kc>t</span><span class=err>o</span><span class=w> </span><span class=err>\u</span><span class=mi>000</span><span class=err>A</span><span class=w> </span><span class=err>or</span><span class=w> </span><span class=err>\</span><span class=kc>n</span><span class=err>;</span><span class=w> </span><span class=err>las</span><span class=kc>t</span><span class=w> </span><span class=err>read</span><span class=p>:</span><span class=w> </span><span class=err>'"value without closing quotes<U+000A>'</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code><span class=p>[</span><span class=err>jso</span><span class=kc>n</span><span class=err>.excep</span><span class=kc>t</span><span class=err>io</span><span class=kc>n</span><span class=err>.parse_error.</span><span class=mi>101</span><span class=p>]</span><span class=w> </span><span class=err>parse</span><span class=w> </span><span class=err>error</span><span class=w> </span><span class=err>a</span><span class=kc>t</span><span class=w> </span><span class=err>li</span><span class=kc>ne</span><span class=w> </span><span class=mi>4</span><span class=p>,</span><span class=w> </span><span class=err>colum</span><span class=kc>n</span><span class=w> </span><span class=mi>0</span><span class=p>:</span><span class=w> </span><span class=err>sy</span><span class=kc>nta</span><span class=err>x</span><span class=w> </span><span class=err>error</span><span class=w> </span><span class=err>while</span><span class=w> </span><span class=err>parsi</span><span class=kc>n</span><span class=err>g</span><span class=w> </span><span class=err>value</span><span class=w> </span><span class=mi>-</span><span class=w> </span><span class=err>i</span><span class=kc>n</span><span class=err>valid</span><span class=w> </span><span class=err>s</span><span class=kc>tr</span><span class=err>i</span><span class=kc>n</span><span class=err>g</span><span class=p>:</span><span class=w> </span><span class=err>co</span><span class=kc>ntr</span><span class=err>ol</span><span class=w> </span><span class=err>charac</span><span class=kc>ter</span><span class=w> </span><span class=err>U+</span><span class=mi>000</span><span class=err>A</span><span class=w> </span><span class=err>(LF)</span><span class=w> </span><span class=err>mus</span><span class=kc>t</span><span class=w> </span><span class=err>be</span><span class=w> </span><span class=err>escaped</span><span class=w> </span><span class=kc>t</span><span class=err>o</span><span class=w> </span><span class=err>\u</span><span class=mi>000</span><span class=err>A</span><span class=w> </span><span class=err>or</span><span class=w> </span><span class=err>\</span><span class=kc>n</span><span class=err>;</span><span class=w> </span><span class=err>las</span><span class=kc>t</span><span class=w> </span><span class=err>read</span><span class=p>:</span><span class=w> </span><span class=err>'"value without closing quotes<U+000A>'</span>
|
||||
<span class=err>the input is invalid JSON</span>
|
||||
</code></pre></div> </details> <details class=example> <summary>Effect of <code>ignore_comments</code> parameter</summary> <p>The example below demonstrates the effect of the <code>ignore_comments</code> parameter in the <code>parse()</code> function.</p> <div class=highlight><pre><span></span><code><span class=cp>#include</span><span class=w> </span><span class=cpf><iostream></span>
|
||||
<span class=cp>#include</span><span class=w> </span><span class=cpf><nlohmann/json.hpp></span>
|
||||
@@ -340,13 +340,13 @@
|
||||
|
||||
<span class=kt>int</span><span class=w> </span><span class=nf>main</span><span class=p>()</span>
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>string</span><span class=w> </span><span class=n>s</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>string</span><span class=w> </span><span class=n>s</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=s> {</span>
|
||||
<span class=s> // update in 2006: removed Pluto</span>
|
||||
<span class=s> "planets": ["Mercury", "Venus", "Earth", "Mars",</span>
|
||||
<span class=s> "Jupiter", "Uranus", "Neptune" /*, "Pluto" */]</span>
|
||||
<span class=s> "planets": ["Mercury", "Venus", "Earth", "Mars",</span>
|
||||
<span class=s> "Jupiter", "Uranus", "Neptune" /*, "Pluto" */]</span>
|
||||
<span class=s> }</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
|
||||
<span class=w> </span><span class=k>try</span>
|
||||
<span class=w> </span><span class=p>{</span>
|
||||
@@ -361,18 +361,18 @@
|
||||
<span class=w> </span><span class=cm>/* callback */</span><span class=w> </span><span class=nb>nullptr</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=cm>/* allow exceptions */</span><span class=w> </span><span class=nb>true</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=cm>/* ignore_comments */</span><span class=w> </span><span class=nb>true</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j</span><span class=p>.</span><span class=n>dump</span><span class=p>(</span><span class=mi>2</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=sc>'\n'</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j</span><span class=p>.</span><span class=n>dump</span><span class=p>(</span><span class=mi>2</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=sc>'\n'</span><span class=p>;</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code>[json.exception.parse_error.101] parse error at line 3, column 9: syntax error while parsing object key - invalid literal; last read: '<U+000A> {<U+000A> /'; expected string literal
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code>[json.exception.parse_error.101] parse error at line 3, column 9: syntax error while parsing object key - invalid literal; last read: '<U+000A> {<U+000A> /'; expected string literal
|
||||
{
|
||||
"planets": [
|
||||
"Mercury",
|
||||
"Venus",
|
||||
"Earth",
|
||||
"Mars",
|
||||
"Jupiter",
|
||||
"Uranus",
|
||||
"Neptune"
|
||||
"planets": [
|
||||
"Mercury",
|
||||
"Venus",
|
||||
"Earth",
|
||||
"Mars",
|
||||
"Jupiter",
|
||||
"Uranus",
|
||||
"Neptune"
|
||||
]
|
||||
}
|
||||
</code></pre></div> </details> <details class=example> <summary>Effect of <code>ignore_trailing_commas</code> parameter</summary> <p>The example below demonstrates the effect of the <code>ignore_trailing_commas</code> parameter in the <code>parse()</code> function.</p> <div class=highlight><pre><span></span><code><span class=cp>#include</span><span class=w> </span><span class=cpf><iostream></span>
|
||||
@@ -382,19 +382,19 @@
|
||||
|
||||
<span class=kt>int</span><span class=w> </span><span class=nf>main</span><span class=p>()</span>
|
||||
<span class=p>{</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>string</span><span class=w> </span><span class=n>s</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>string</span><span class=w> </span><span class=n>s</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=sa>R</span><span class=s>"</span><span class=dl>(</span>
|
||||
<span class=s> {</span>
|
||||
<span class=s> "planets": [</span>
|
||||
<span class=s> "Mercury",</span>
|
||||
<span class=s> "Venus",</span>
|
||||
<span class=s> "Earth",</span>
|
||||
<span class=s> "Mars",</span>
|
||||
<span class=s> "Jupiter",</span>
|
||||
<span class=s> "Uranus",</span>
|
||||
<span class=s> "Neptune",</span>
|
||||
<span class=s> "planets": [</span>
|
||||
<span class=s> "Mercury",</span>
|
||||
<span class=s> "Venus",</span>
|
||||
<span class=s> "Earth",</span>
|
||||
<span class=s> "Mars",</span>
|
||||
<span class=s> "Jupiter",</span>
|
||||
<span class=s> "Uranus",</span>
|
||||
<span class=s> "Neptune",</span>
|
||||
<span class=s> ]</span>
|
||||
<span class=s> }</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
<span class=s> </span><span class=dl>)</span><span class=s>"</span><span class=p>;</span>
|
||||
|
||||
<span class=w> </span><span class=k>try</span>
|
||||
<span class=w> </span><span class=p>{</span>
|
||||
@@ -410,18 +410,18 @@
|
||||
<span class=w> </span><span class=cm>/* allow exceptions */</span><span class=w> </span><span class=nb>true</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=cm>/* ignore_comments */</span><span class=w> </span><span class=nb>false</span><span class=p>,</span>
|
||||
<span class=w> </span><span class=cm>/* ignore_trailing_commas */</span><span class=w> </span><span class=nb>true</span><span class=p>);</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j</span><span class=p>.</span><span class=n>dump</span><span class=p>(</span><span class=mi>2</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=sc>'\n'</span><span class=p>;</span>
|
||||
<span class=w> </span><span class=n>std</span><span class=o>::</span><span class=n>cout</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=n>j</span><span class=p>.</span><span class=n>dump</span><span class=p>(</span><span class=mi>2</span><span class=p>)</span><span class=w> </span><span class=o><<</span><span class=w> </span><span class=sc>'\n'</span><span class=p>;</span>
|
||||
<span class=p>}</span>
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code>[json.exception.parse_error.101] parse error at line 11, column 9: syntax error while parsing value - unexpected ']'; expected '[', '{', or a literal
|
||||
</code></pre></div> <p>Output:</p> <div class=highlight><pre><span></span><code>[json.exception.parse_error.101] parse error at line 11, column 9: syntax error while parsing value - unexpected ']'; expected '[', '{', or a literal
|
||||
{
|
||||
"planets": [
|
||||
"Mercury",
|
||||
"Venus",
|
||||
"Earth",
|
||||
"Mars",
|
||||
"Jupiter",
|
||||
"Uranus",
|
||||
"Neptune"
|
||||
"planets": [
|
||||
"Mercury",
|
||||
"Venus",
|
||||
"Earth",
|
||||
"Mars",
|
||||
"Jupiter",
|
||||
"Uranus",
|
||||
"Neptune"
|
||||
]
|
||||
}
|
||||
</code></pre></div> </details> <h2 id=see-also>See also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../accept/ >accept</a> - check if the input is valid <abbr title="JavaScript Object Notation">JSON</abbr></li> <li><a href=../sax_parse/ >sax_parse</a> - parse input using the <abbr title="Simple API for XML">SAX</abbr> interface</li> <li><a href=../../operator_gtgt/ >operator>></a> - deserialize from stream</li> </ul> <h2 id=version-history>Version history<a class=headerlink href=#version-history title="Permanent link">¶</a></h2> <ul> <li>Added in version 1.0.0.</li> <li>Overload for contiguous containers (1) added in version 2.0.3.</li> <li>Ignoring comments via <code>ignore_comments</code> added in version 3.9.0.</li> <li>Changed <a href=../../../features/assertions/ >runtime assertion</a> in case of <code>FILE*</code> null pointers to exception in version 3.12.0.</li> <li>Added <code>ignore_trailing_commas</code> in version 3.13.0.</li> <li>Extended container support (1) to include types with lvalue-only <abbr title="Argument-dependent lookup">ADL</abbr> <code>begin</code>/<code>end</code> (matching <code>std::begin</code>/<code>std::end</code> semantics) in version 3.13.0.</li> <li>Extended overload (2) to accept heterogeneous iterator+sentinel pairs (C++20 ranges support) in version 3.13.0.</li> </ul> <div class="admonition warning"> <p class=admonition-title>Deprecation</p> <p>Overload (2) replaces calls to <code>parse</code> with a pair of iterators as their first parameter which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like <code class=highlight><span class=n>parse</span><span class=p>({</span><span class=n>ptr</span><span class=p>,</span><span class=w> </span><span class=n>ptr</span><span class=o>+</span><span class=n>len</span><span class=p>},</span><span class=w> </span><span class=p>...);</span></code> with <code class=highlight><span class=n>parse</span><span class=p>(</span><span class=n>ptr</span><span class=p>,</span><span class=w> </span><span class=n>ptr</span><span class=o>+</span><span class=n>len</span><span class=p>,</span><span class=w> </span><span class=p>...);</span></code>.</p> <p>You should be warned by your compiler with a <code>-Wdeprecated-declarations</code> warning if you are using a deprecated function.</p> </div> <!-- https://squidfunk.github.io/mkdocs-material/reference/tooltips/#adding-a-glossary --> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="August 7, 2026 17:29:58 UTC">August 7, 2026</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2013-2026 Niels Lohmann </div> </div> <div class=md-social> <a href="https://github.com/nlohmann" target="_blank" rel="noopener" title="github.com" class="md-social__link"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-1Line truncated
|
||||
</code></pre></div> </details> <h2 id=see-also>See also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../accept/ >accept</a> - check if the input is valid <abbr title="JavaScript Object Notation">JSON</abbr></li> <li><a href=../sax_parse/ >sax_parse</a> - parse input using the <abbr title="Simple API for XML">SAX</abbr> interface</li> <li><a href=../../operator_gtgt/ >operator>></a> - deserialize from stream</li> </ul> <h2 id=version-history>Version history<a class=headerlink href=#version-history title="Permanent link">¶</a></h2> <ul> <li>Added in version 1.0.0.</li> <li>Overload for contiguous containers (1) added in version 2.0.3.</li> <li>Ignoring comments via <code>ignore_comments</code> added in version 3.9.0.</li> <li>Changed <a href=../../../features/assertions/ >runtime assertion</a> in case of <code>FILE*</code> null pointers to exception in version 3.12.0.</li> <li>Added <code>ignore_trailing_commas</code> in version 3.13.0.</li> <li>Extended container support (1) to include types with lvalue-only <abbr title="Argument-dependent lookup">ADL</abbr> <code>begin</code>/<code>end</code> (matching <code>std::begin</code>/<code>std::end</code> semantics) in version 3.13.0.</li> <li>Extended overload (2) to accept heterogeneous iterator+sentinel pairs (C++20 ranges support) in version 3.13.0.</li> </ul> <div class="admonition warning"> <p class=admonition-title>Deprecation</p> <p>Overload (2) replaces calls to <code>parse</code> with a pair of iterators as their first parameter which has been deprecated in version 3.8.0. This overload will be removed in version 4.0.0. Please replace all calls like <code class=highlight><span class=n>parse</span><span class=p>({</span><span class=n>ptr</span><span class=p>,</span><span class=w> </span><span class=n>ptr</span><span class=o>+</span><span class=n>len</span><span class=p>},</span><span class=w> </span><span class=p>...);</span></code> with <code class=highlight><span class=n>parse</span><span class=p>(</span><span class=n>ptr</span><span class=p>,</span><span class=w> </span><span class=n>ptr</span><span class=o>+</span><span class=n>len</span><span class=p>,</span><span class=w> </span><span class=p>...);</span></code>.</p> <p>You should be warned by your compiler with a <code>-Wdeprecated-declarations</code> warning if you are using a deprecated function.</p> </div> <!-- https://squidfunk.github.io/mkdocs-material/reference/tooltips/#adding-a-glossary --> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="August 19, 2026 18:19:47 UTC">August 19, 2026</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2013-2026 Niels Lohmann </div> </div> <div class=md-social> <a href="https://github.com/nlohmann" target="_blank" rel="noopener" title="github.com" class="md-social__link"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0Line truncated
|
||||
Reference in new issue
Block a user