1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>JsonBuilder: JSON-GLib Reference Manual</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="index.html" title="JSON-GLib Reference Manual">
8 <link rel="up" href="ch03.html" title="Generator">
9 <link rel="prev" href="JsonGenerator.html" title="JsonGenerator">
10 <link rel="next" href="ch04.html" title="General Purpose API">
11 <meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
16 <td width="100%" align="left" class="shortcuts">
17 <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
18 <a href="#JsonBuilder.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
19 <a href="#JsonBuilder.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties"> <span class="dim">|</span>
20 <a href="#JsonBuilder.properties" class="shortcut">Properties</a></span>
22 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
23 <td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
24 <td><a accesskey="p" href="JsonGenerator.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
25 <td><a accesskey="n" href="ch04.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
27 <div class="refentry">
28 <a name="JsonBuilder"></a><div class="titlepage"></div>
29 <div class="refnamediv"><table width="100%"><tr>
31 <h2><span class="refentrytitle"><a name="JsonBuilder.top_of_page"></a>JsonBuilder</span></h2>
32 <p>JsonBuilder — Generates JSON trees</p>
34 <td class="gallery_image" valign="top" align="right"></td>
36 <div class="refsect1">
37 <a name="JsonBuilder.functions"></a><h2>Functions</h2>
38 <div class="informaltable"><table class="informaltable" width="100%" border="0">
40 <col width="150px" class="functions_return">
41 <col class="functions_name">
45 <td class="function_type">
46 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
48 <td class="function_name">
49 <a class="link" href="JsonBuilder.html#json-builder-new" title="json_builder_new ()">json_builder_new</a> <span class="c_punctuation">()</span>
53 <td class="function_type">
54 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
56 <td class="function_name">
57 <a class="link" href="JsonBuilder.html#json-builder-new-immutable" title="json_builder_new_immutable ()">json_builder_new_immutable</a> <span class="c_punctuation">()</span>
61 <td class="function_type">
62 <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="returnvalue">JsonNode</span></a> *
64 <td class="function_name">
65 <a class="link" href="JsonBuilder.html#json-builder-get-root" title="json_builder_get_root ()">json_builder_get_root</a> <span class="c_punctuation">()</span>
69 <td class="function_type">
70 <span class="returnvalue">void</span>
72 <td class="function_name">
73 <a class="link" href="JsonBuilder.html#json-builder-reset" title="json_builder_reset ()">json_builder_reset</a> <span class="c_punctuation">()</span>
77 <td class="function_type">
78 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
80 <td class="function_name">
81 <a class="link" href="JsonBuilder.html#json-builder-begin-array" title="json_builder_begin_array ()">json_builder_begin_array</a> <span class="c_punctuation">()</span>
85 <td class="function_type">
86 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
88 <td class="function_name">
89 <a class="link" href="JsonBuilder.html#json-builder-end-array" title="json_builder_end_array ()">json_builder_end_array</a> <span class="c_punctuation">()</span>
93 <td class="function_type">
94 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
96 <td class="function_name">
97 <a class="link" href="JsonBuilder.html#json-builder-begin-object" title="json_builder_begin_object ()">json_builder_begin_object</a> <span class="c_punctuation">()</span>
101 <td class="function_type">
102 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
104 <td class="function_name">
105 <a class="link" href="JsonBuilder.html#json-builder-set-member-name" title="json_builder_set_member_name ()">json_builder_set_member_name</a> <span class="c_punctuation">()</span>
109 <td class="function_type">
110 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
112 <td class="function_name">
113 <a class="link" href="JsonBuilder.html#json-builder-end-object" title="json_builder_end_object ()">json_builder_end_object</a> <span class="c_punctuation">()</span>
117 <td class="function_type">
118 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
120 <td class="function_name">
121 <a class="link" href="JsonBuilder.html#json-builder-add-value" title="json_builder_add_value ()">json_builder_add_value</a> <span class="c_punctuation">()</span>
125 <td class="function_type">
126 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
128 <td class="function_name">
129 <a class="link" href="JsonBuilder.html#json-builder-add-int-value" title="json_builder_add_int_value ()">json_builder_add_int_value</a> <span class="c_punctuation">()</span>
133 <td class="function_type">
134 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
136 <td class="function_name">
137 <a class="link" href="JsonBuilder.html#json-builder-add-double-value" title="json_builder_add_double_value ()">json_builder_add_double_value</a> <span class="c_punctuation">()</span>
141 <td class="function_type">
142 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
144 <td class="function_name">
145 <a class="link" href="JsonBuilder.html#json-builder-add-boolean-value" title="json_builder_add_boolean_value ()">json_builder_add_boolean_value</a> <span class="c_punctuation">()</span>
149 <td class="function_type">
150 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
152 <td class="function_name">
153 <a class="link" href="JsonBuilder.html#json-builder-add-string-value" title="json_builder_add_string_value ()">json_builder_add_string_value</a> <span class="c_punctuation">()</span>
157 <td class="function_type">
158 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
160 <td class="function_name">
161 <a class="link" href="JsonBuilder.html#json-builder-add-null-value" title="json_builder_add_null_value ()">json_builder_add_null_value</a> <span class="c_punctuation">()</span>
167 <div class="refsect1">
168 <a name="JsonBuilder.properties"></a><h2>Properties</h2>
169 <div class="informaltable"><table class="informaltable" border="0">
171 <col width="150px" class="properties_type">
172 <col width="300px" class="properties_name">
173 <col width="200px" class="properties_flags">
176 <td class="property_type"><span class="type">gboolean</span></td>
177 <td class="property_name"><a class="link" href="JsonBuilder.html#JsonBuilder--immutable" title="The “immutable” property">immutable</a></td>
178 <td class="property_flags">Read / Write / Construct Only</td>
182 <div class="refsect1">
183 <a name="JsonBuilder.other"></a><h2>Types and Values</h2>
184 <div class="informaltable"><table class="informaltable" width="100%" border="0">
186 <col width="150px" class="name">
187 <col class="description">
191 <td class="datatype_keyword">struct</td>
192 <td class="function_name"><a class="link" href="JsonBuilder.html#JsonBuilder-struct" title="struct JsonBuilder">JsonBuilder</a></td>
195 <td class="datatype_keyword">struct</td>
196 <td class="function_name"><a class="link" href="JsonBuilder.html#JsonBuilderClass" title="struct JsonBuilderClass">JsonBuilderClass</a></td>
201 <div class="refsect1">
202 <a name="JsonBuilder.object-hierarchy"></a><h2>Object Hierarchy</h2>
203 <pre class="screen"> GObject
204 <span class="lineart">╰──</span> JsonBuilder
207 <div class="refsect1">
208 <a name="JsonBuilder.description"></a><h2>Description</h2>
209 <p><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> provides an object for generating a JSON tree.
210 You can generate only one tree with one <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> instance.</p>
211 <p>The root of the JSON tree can be either a <a class="link" href="json-glib-JSON-Object.html#JsonObject"><span class="type">JsonObject</span></a> or a <a class="link" href="json-glib-JSON-Array.html#JsonArray"><span class="type">JsonArray</span></a>.
212 Thus the first call must necessarily be either
213 <a class="link" href="JsonBuilder.html#json-builder-begin-object" title="json_builder_begin_object ()"><code class="function">json_builder_begin_object()</code></a> or <a class="link" href="JsonBuilder.html#json-builder-begin-array" title="json_builder_begin_array ()"><code class="function">json_builder_begin_array()</code></a>.</p>
214 <p>For convenience to language bindings, <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> returns itself from
215 most of functions, making it easy to chain function calls.</p>
217 <div class="refsect1">
218 <a name="JsonBuilder.functions_details"></a><h2>Functions</h2>
219 <div class="refsect2">
220 <a name="json-builder-new"></a><h3>json_builder_new ()</h3>
221 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
222 json_builder_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
223 <p>Creates a new <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>. You can use this object to generate a
224 JSON tree and obtain the root <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a>.</p>
225 <div class="refsect3">
226 <a name="json-builder-new.returns"></a><h4>Returns</h4>
227 <p> the newly created <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> instance</p>
231 <div class="refsect2">
232 <a name="json-builder-new-immutable"></a><h3>json_builder_new_immutable ()</h3>
233 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
234 json_builder_new_immutable (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
235 <p>Creates a new <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> instance with its <a class="link" href="JsonBuilder.html#JsonBuilder--immutable" title="The “immutable” property"><span class="type">“immutable”</span></a> property
236 set to <code class="literal">TRUE</code> to create immutable output trees.</p>
237 <div class="refsect3">
238 <a name="json-builder-new-immutable.returns"></a><h4>Returns</h4>
239 <p> a new <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>. </p>
240 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
242 <p class="since">Since: <a class="link" href="ix11.html#api-index-1.2">1.2</a></p>
245 <div class="refsect2">
246 <a name="json-builder-get-root"></a><h3>json_builder_get_root ()</h3>
247 <pre class="programlisting"><a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="returnvalue">JsonNode</span></a> *
248 json_builder_get_root (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>);</pre>
249 <p>Returns the root of the current constructed tree, if the build is complete
250 (ie: all opened objects, object members and arrays are being closed).</p>
251 <div class="refsect3">
252 <a name="json-builder-get-root.parameters"></a><h4>Parameters</h4>
253 <div class="informaltable"><table class="informaltable" width="100%" border="0">
255 <col width="150px" class="parameters_name">
256 <col class="parameters_description">
257 <col width="200px" class="parameters_annotations">
260 <td class="parameter_name"><p>builder</p></td>
261 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
262 <td class="parameter_annotations"> </td>
266 <div class="refsect3">
267 <a name="json-builder-get-root.returns"></a><h4>Returns</h4>
268 <p> the <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a>, or <code class="literal">NULL</code> if the build is not complete.
269 Free the returned value with <a class="link" href="json-glib-JSON-Node.html#json-node-unref" title="json_node_unref ()"><code class="function">json_node_unref()</code></a>. </p>
270 <p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
274 <div class="refsect2">
275 <a name="json-builder-reset"></a><h3>json_builder_reset ()</h3>
276 <pre class="programlisting"><span class="returnvalue">void</span>
277 json_builder_reset (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>);</pre>
278 <p>Resets the state of the <em class="parameter"><code>builder</code></em>
279 back to its initial state.</p>
280 <div class="refsect3">
281 <a name="json-builder-reset.parameters"></a><h4>Parameters</h4>
282 <div class="informaltable"><table class="informaltable" width="100%" border="0">
284 <col width="150px" class="parameters_name">
285 <col class="parameters_description">
286 <col width="200px" class="parameters_annotations">
289 <td class="parameter_name"><p>builder</p></td>
290 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
291 <td class="parameter_annotations"> </td>
297 <div class="refsect2">
298 <a name="json-builder-begin-array"></a><h3>json_builder_begin_array ()</h3>
299 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
300 json_builder_begin_array (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>);</pre>
301 <p>Opens a subarray inside the given <em class="parameter"><code>builder</code></em>
302 . When done adding members to
303 the subarray, <a class="link" href="JsonBuilder.html#json-builder-end-array" title="json_builder_end_array ()"><code class="function">json_builder_end_array()</code></a> must be called.</p>
304 <p>Can be called for first or only if the call is associated to an object member
305 or an array element.</p>
306 <div class="refsect3">
307 <a name="json-builder-begin-array.parameters"></a><h4>Parameters</h4>
308 <div class="informaltable"><table class="informaltable" width="100%" border="0">
310 <col width="150px" class="parameters_name">
311 <col class="parameters_description">
312 <col width="200px" class="parameters_annotations">
315 <td class="parameter_name"><p>builder</p></td>
316 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
317 <td class="parameter_annotations"> </td>
321 <div class="refsect3">
322 <a name="json-builder-begin-array.returns"></a><h4>Returns</h4>
323 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
324 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
328 <div class="refsect2">
329 <a name="json-builder-end-array"></a><h3>json_builder_end_array ()</h3>
330 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
331 json_builder_end_array (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>);</pre>
332 <p>Closes the subarray inside the given <em class="parameter"><code>builder</code></em>
333 that was opened by the most
334 recent call to <a class="link" href="JsonBuilder.html#json-builder-begin-array" title="json_builder_begin_array ()"><code class="function">json_builder_begin_array()</code></a>.</p>
335 <p>Cannot be called after <a class="link" href="JsonBuilder.html#json-builder-set-member-name" title="json_builder_set_member_name ()"><code class="function">json_builder_set_member_name()</code></a>.</p>
336 <div class="refsect3">
337 <a name="json-builder-end-array.parameters"></a><h4>Parameters</h4>
338 <div class="informaltable"><table class="informaltable" width="100%" border="0">
340 <col width="150px" class="parameters_name">
341 <col class="parameters_description">
342 <col width="200px" class="parameters_annotations">
345 <td class="parameter_name"><p>builder</p></td>
346 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
347 <td class="parameter_annotations"> </td>
351 <div class="refsect3">
352 <a name="json-builder-end-array.returns"></a><h4>Returns</h4>
353 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
354 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
358 <div class="refsect2">
359 <a name="json-builder-begin-object"></a><h3>json_builder_begin_object ()</h3>
360 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
361 json_builder_begin_object (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>);</pre>
362 <p>Opens a subobject inside the given <em class="parameter"><code>builder</code></em>
363 . When done adding members to
364 the subobject, <a class="link" href="JsonBuilder.html#json-builder-end-object" title="json_builder_end_object ()"><code class="function">json_builder_end_object()</code></a> must be called.</p>
365 <p>Can be called for first or only if the call is associated to an object member
366 or an array element.</p>
367 <div class="refsect3">
368 <a name="json-builder-begin-object.parameters"></a><h4>Parameters</h4>
369 <div class="informaltable"><table class="informaltable" width="100%" border="0">
371 <col width="150px" class="parameters_name">
372 <col class="parameters_description">
373 <col width="200px" class="parameters_annotations">
376 <td class="parameter_name"><p>builder</p></td>
377 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
378 <td class="parameter_annotations"> </td>
382 <div class="refsect3">
383 <a name="json-builder-begin-object.returns"></a><h4>Returns</h4>
384 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
385 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
389 <div class="refsect2">
390 <a name="json-builder-set-member-name"></a><h3>json_builder_set_member_name ()</h3>
391 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
392 json_builder_set_member_name (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>,
393 <em class="parameter"><code>const <span class="type">gchar</span> *member_name</code></em>);</pre>
394 <p>Set the name of the next member in an object. The next call must add a value,
395 open an object or an array.</p>
396 <p>Can be called only if the call is associated to an object.</p>
397 <div class="refsect3">
398 <a name="json-builder-set-member-name.parameters"></a><h4>Parameters</h4>
399 <div class="informaltable"><table class="informaltable" width="100%" border="0">
401 <col width="150px" class="parameters_name">
402 <col class="parameters_description">
403 <col width="200px" class="parameters_annotations">
407 <td class="parameter_name"><p>builder</p></td>
408 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
409 <td class="parameter_annotations"> </td>
412 <td class="parameter_name"><p>member_name</p></td>
413 <td class="parameter_description"><p>the name of the member</p></td>
414 <td class="parameter_annotations"> </td>
419 <div class="refsect3">
420 <a name="json-builder-set-member-name.returns"></a><h4>Returns</h4>
421 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
422 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
426 <div class="refsect2">
427 <a name="json-builder-end-object"></a><h3>json_builder_end_object ()</h3>
428 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
429 json_builder_end_object (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>);</pre>
430 <p>Closes the subobject inside the given <em class="parameter"><code>builder</code></em>
431 that was opened by the most
432 recent call to <a class="link" href="JsonBuilder.html#json-builder-begin-object" title="json_builder_begin_object ()"><code class="function">json_builder_begin_object()</code></a>.</p>
433 <p>Cannot be called after <a class="link" href="JsonBuilder.html#json-builder-set-member-name" title="json_builder_set_member_name ()"><code class="function">json_builder_set_member_name()</code></a>.</p>
434 <div class="refsect3">
435 <a name="json-builder-end-object.parameters"></a><h4>Parameters</h4>
436 <div class="informaltable"><table class="informaltable" width="100%" border="0">
438 <col width="150px" class="parameters_name">
439 <col class="parameters_description">
440 <col width="200px" class="parameters_annotations">
443 <td class="parameter_name"><p>builder</p></td>
444 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
445 <td class="parameter_annotations"> </td>
449 <div class="refsect3">
450 <a name="json-builder-end-object.returns"></a><h4>Returns</h4>
451 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
452 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
456 <div class="refsect2">
457 <a name="json-builder-add-value"></a><h3>json_builder_add_value ()</h3>
458 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
459 json_builder_add_value (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>,
460 <em class="parameter"><code><a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> *node</code></em>);</pre>
461 <p>If called after <a class="link" href="JsonBuilder.html#json-builder-set-member-name" title="json_builder_set_member_name ()"><code class="function">json_builder_set_member_name()</code></a>, sets <em class="parameter"><code>node</code></em>
463 most recent opened object, otherwise <em class="parameter"><code>node</code></em>
464 is added as element of the most
465 recent opened array.</p>
466 <p>The builder will take ownership of the <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a>.</p>
467 <div class="refsect3">
468 <a name="json-builder-add-value.parameters"></a><h4>Parameters</h4>
469 <div class="informaltable"><table class="informaltable" width="100%" border="0">
471 <col width="150px" class="parameters_name">
472 <col class="parameters_description">
473 <col width="200px" class="parameters_annotations">
477 <td class="parameter_name"><p>builder</p></td>
478 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
479 <td class="parameter_annotations"> </td>
482 <td class="parameter_name"><p>node</p></td>
483 <td class="parameter_description"><p> the value of the member or element. </p></td>
484 <td class="parameter_annotations"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
489 <div class="refsect3">
490 <a name="json-builder-add-value.returns"></a><h4>Returns</h4>
491 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
492 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
496 <div class="refsect2">
497 <a name="json-builder-add-int-value"></a><h3>json_builder_add_int_value ()</h3>
498 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
499 json_builder_add_int_value (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>,
500 <em class="parameter"><code><span class="type">gint64</span> value</code></em>);</pre>
501 <p>If called after <a class="link" href="JsonBuilder.html#json-builder-set-member-name" title="json_builder_set_member_name ()"><code class="function">json_builder_set_member_name()</code></a>, sets <em class="parameter"><code>value</code></em>
503 most recent opened object, otherwise <em class="parameter"><code>value</code></em>
504 is added as element of the most
505 recent opened array.</p>
506 <p>See also: <a class="link" href="JsonBuilder.html#json-builder-add-value" title="json_builder_add_value ()"><code class="function">json_builder_add_value()</code></a></p>
507 <div class="refsect3">
508 <a name="json-builder-add-int-value.parameters"></a><h4>Parameters</h4>
509 <div class="informaltable"><table class="informaltable" width="100%" border="0">
511 <col width="150px" class="parameters_name">
512 <col class="parameters_description">
513 <col width="200px" class="parameters_annotations">
517 <td class="parameter_name"><p>builder</p></td>
518 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
519 <td class="parameter_annotations"> </td>
522 <td class="parameter_name"><p>value</p></td>
523 <td class="parameter_description"><p>the value of the member or element</p></td>
524 <td class="parameter_annotations"> </td>
529 <div class="refsect3">
530 <a name="json-builder-add-int-value.returns"></a><h4>Returns</h4>
531 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
532 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
536 <div class="refsect2">
537 <a name="json-builder-add-double-value"></a><h3>json_builder_add_double_value ()</h3>
538 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
539 json_builder_add_double_value (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>,
540 <em class="parameter"><code><span class="type">gdouble</span> value</code></em>);</pre>
541 <p>If called after <a class="link" href="JsonBuilder.html#json-builder-set-member-name" title="json_builder_set_member_name ()"><code class="function">json_builder_set_member_name()</code></a>, sets <em class="parameter"><code>value</code></em>
543 most recent opened object, otherwise <em class="parameter"><code>value</code></em>
544 is added as element of the most
545 recent opened array.</p>
546 <p>See also: <a class="link" href="JsonBuilder.html#json-builder-add-value" title="json_builder_add_value ()"><code class="function">json_builder_add_value()</code></a></p>
547 <div class="refsect3">
548 <a name="json-builder-add-double-value.parameters"></a><h4>Parameters</h4>
549 <div class="informaltable"><table class="informaltable" width="100%" border="0">
551 <col width="150px" class="parameters_name">
552 <col class="parameters_description">
553 <col width="200px" class="parameters_annotations">
557 <td class="parameter_name"><p>builder</p></td>
558 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
559 <td class="parameter_annotations"> </td>
562 <td class="parameter_name"><p>value</p></td>
563 <td class="parameter_description"><p>the value of the member or element</p></td>
564 <td class="parameter_annotations"> </td>
569 <div class="refsect3">
570 <a name="json-builder-add-double-value.returns"></a><h4>Returns</h4>
571 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
572 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
576 <div class="refsect2">
577 <a name="json-builder-add-boolean-value"></a><h3>json_builder_add_boolean_value ()</h3>
578 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
579 json_builder_add_boolean_value (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>,
580 <em class="parameter"><code><span class="type">gboolean</span> value</code></em>);</pre>
581 <p>If called after <a class="link" href="JsonBuilder.html#json-builder-set-member-name" title="json_builder_set_member_name ()"><code class="function">json_builder_set_member_name()</code></a>, sets <em class="parameter"><code>value</code></em>
583 most recent opened object, otherwise <em class="parameter"><code>value</code></em>
584 is added as element of the most
585 recent opened array.</p>
586 <p>See also: <a class="link" href="JsonBuilder.html#json-builder-add-value" title="json_builder_add_value ()"><code class="function">json_builder_add_value()</code></a></p>
587 <div class="refsect3">
588 <a name="json-builder-add-boolean-value.parameters"></a><h4>Parameters</h4>
589 <div class="informaltable"><table class="informaltable" width="100%" border="0">
591 <col width="150px" class="parameters_name">
592 <col class="parameters_description">
593 <col width="200px" class="parameters_annotations">
597 <td class="parameter_name"><p>builder</p></td>
598 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
599 <td class="parameter_annotations"> </td>
602 <td class="parameter_name"><p>value</p></td>
603 <td class="parameter_description"><p>the value of the member or element</p></td>
604 <td class="parameter_annotations"> </td>
609 <div class="refsect3">
610 <a name="json-builder-add-boolean-value.returns"></a><h4>Returns</h4>
611 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
612 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
616 <div class="refsect2">
617 <a name="json-builder-add-string-value"></a><h3>json_builder_add_string_value ()</h3>
618 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
619 json_builder_add_string_value (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>,
620 <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
621 <p>If called after <a class="link" href="JsonBuilder.html#json-builder-set-member-name" title="json_builder_set_member_name ()"><code class="function">json_builder_set_member_name()</code></a>, sets <em class="parameter"><code>value</code></em>
623 most recent opened object, otherwise <em class="parameter"><code>value</code></em>
624 is added as element of the most
625 recent opened array.</p>
626 <p>See also: <a class="link" href="JsonBuilder.html#json-builder-add-value" title="json_builder_add_value ()"><code class="function">json_builder_add_value()</code></a></p>
627 <div class="refsect3">
628 <a name="json-builder-add-string-value.parameters"></a><h4>Parameters</h4>
629 <div class="informaltable"><table class="informaltable" width="100%" border="0">
631 <col width="150px" class="parameters_name">
632 <col class="parameters_description">
633 <col width="200px" class="parameters_annotations">
637 <td class="parameter_name"><p>builder</p></td>
638 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
639 <td class="parameter_annotations"> </td>
642 <td class="parameter_name"><p>value</p></td>
643 <td class="parameter_description"><p>the value of the member or element</p></td>
644 <td class="parameter_annotations"> </td>
649 <div class="refsect3">
650 <a name="json-builder-add-string-value.returns"></a><h4>Returns</h4>
651 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
652 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
656 <div class="refsect2">
657 <a name="json-builder-add-null-value"></a><h3>json_builder_add_null_value ()</h3>
658 <pre class="programlisting"><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
659 json_builder_add_null_value (<em class="parameter"><code><a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> *builder</code></em>);</pre>
660 <p>If called after <a class="link" href="JsonBuilder.html#json-builder-set-member-name" title="json_builder_set_member_name ()"><code class="function">json_builder_set_member_name()</code></a>, sets null as member of the
661 most recent opened object, otherwise null is added as element of the most
662 recent opened array.</p>
663 <p>See also: <a class="link" href="JsonBuilder.html#json-builder-add-value" title="json_builder_add_value ()"><code class="function">json_builder_add_value()</code></a></p>
664 <div class="refsect3">
665 <a name="json-builder-add-null-value.parameters"></a><h4>Parameters</h4>
666 <div class="informaltable"><table class="informaltable" width="100%" border="0">
668 <col width="150px" class="parameters_name">
669 <col class="parameters_description">
670 <col width="200px" class="parameters_annotations">
673 <td class="parameter_name"><p>builder</p></td>
674 <td class="parameter_description"><p>a <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a></p></td>
675 <td class="parameter_annotations"> </td>
679 <div class="refsect3">
680 <a name="json-builder-add-null-value.returns"></a><h4>Returns</h4>
681 <p> the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a>, or <code class="literal">NULL</code> if the call was inconsistent. </p>
682 <p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
686 <div class="refsect1">
687 <a name="JsonBuilder.other_details"></a><h2>Types and Values</h2>
688 <div class="refsect2">
689 <a name="JsonBuilder-struct"></a><h3>struct JsonBuilder</h3>
690 <pre class="programlisting">struct JsonBuilder;</pre>
691 <p>The <code class="literal">JsonBuilder</code> structure contains only private data and should be
692 accessed using the provided API</p>
693 <p class="since">Since: <a class="link" href="ix07.html#api-index-0.12">0.12</a></p>
696 <div class="refsect2">
697 <a name="JsonBuilderClass"></a><h3>struct JsonBuilderClass</h3>
698 <pre class="programlisting">struct JsonBuilderClass {
701 <p>The <code class="literal">JsonBuilderClass</code> structure contains only private data</p>
702 <p class="since">Since: <a class="link" href="ix07.html#api-index-0.12">0.12</a></p>
705 <div class="refsect1">
706 <a name="JsonBuilder.property-details"></a><h2>Property Details</h2>
707 <div class="refsect2">
708 <a name="JsonBuilder--immutable"></a><h3>The <code class="literal">“immutable”</code> property</h3>
709 <pre class="programlisting"> “immutable” <span class="type">gboolean</span></pre>
710 <p>Whether the <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="type">JsonNode</span></a> tree built by the <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="type">JsonBuilder</span></a> should be immutable
711 when created. Making the output immutable on creation avoids the expense
712 of traversing it to make it immutable later.</p>
713 <p>Flags: Read / Write / Construct Only</p>
714 <p>Default value: FALSE</p>
715 <p class="since">Since: <a class="link" href="ix11.html#api-index-1.2">1.2</a></p>
718 <div class="refsect1">
719 <a name="JsonBuilder.see-also"></a><h2>See Also</h2>
724 <hr>Generated by GTK-Doc V1.25.1</div>