Imported Upstream version 1.2.4
[platform/upstream/json-glib.git] / doc / reference / html / JsonBuilder.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
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">
13 </head>
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>
21 </td>
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>
26 </tr></table>
27 <div class="refentry">
28 <a name="JsonBuilder"></a><div class="titlepage"></div>
29 <div class="refnamediv"><table width="100%"><tr>
30 <td valign="top">
31 <h2><span class="refentrytitle"><a name="JsonBuilder.top_of_page"></a>JsonBuilder</span></h2>
32 <p>JsonBuilder — Generates JSON trees</p>
33 </td>
34 <td class="gallery_image" valign="top" align="right"></td>
35 </tr></table></div>
36 <div class="refsect1">
37 <a name="JsonBuilder.functions"></a><h2>Functions</h2>
38 <div class="informaltable"><table class="informaltable" width="100%" border="0">
39 <colgroup>
40 <col width="150px" class="functions_return">
41 <col class="functions_name">
42 </colgroup>
43 <tbody>
44 <tr>
45 <td class="function_type">
46 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
47 </td>
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>
50 </td>
51 </tr>
52 <tr>
53 <td class="function_type">
54 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
55 </td>
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>
58 </td>
59 </tr>
60 <tr>
61 <td class="function_type">
62 <a class="link" href="json-glib-JSON-Node.html#JsonNode"><span class="returnvalue">JsonNode</span></a> *
63 </td>
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>
66 </td>
67 </tr>
68 <tr>
69 <td class="function_type">
70 <span class="returnvalue">void</span>
71 </td>
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>
74 </td>
75 </tr>
76 <tr>
77 <td class="function_type">
78 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
79 </td>
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>
82 </td>
83 </tr>
84 <tr>
85 <td class="function_type">
86 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
87 </td>
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>
90 </td>
91 </tr>
92 <tr>
93 <td class="function_type">
94 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
95 </td>
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>
98 </td>
99 </tr>
100 <tr>
101 <td class="function_type">
102 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
103 </td>
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>
106 </td>
107 </tr>
108 <tr>
109 <td class="function_type">
110 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
111 </td>
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>
114 </td>
115 </tr>
116 <tr>
117 <td class="function_type">
118 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
119 </td>
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>
122 </td>
123 </tr>
124 <tr>
125 <td class="function_type">
126 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
127 </td>
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>
130 </td>
131 </tr>
132 <tr>
133 <td class="function_type">
134 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
135 </td>
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>
138 </td>
139 </tr>
140 <tr>
141 <td class="function_type">
142 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
143 </td>
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>
146 </td>
147 </tr>
148 <tr>
149 <td class="function_type">
150 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
151 </td>
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>
154 </td>
155 </tr>
156 <tr>
157 <td class="function_type">
158 <a class="link" href="JsonBuilder.html" title="JsonBuilder"><span class="returnvalue">JsonBuilder</span></a> *
159 </td>
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>
162 </td>
163 </tr>
164 </tbody>
165 </table></div>
166 </div>
167 <div class="refsect1">
168 <a name="JsonBuilder.properties"></a><h2>Properties</h2>
169 <div class="informaltable"><table class="informaltable" border="0">
170 <colgroup>
171 <col width="150px" class="properties_type">
172 <col width="300px" class="properties_name">
173 <col width="200px" class="properties_flags">
174 </colgroup>
175 <tbody><tr>
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>
179 </tr></tbody>
180 </table></div>
181 </div>
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">
185 <colgroup>
186 <col width="150px" class="name">
187 <col class="description">
188 </colgroup>
189 <tbody>
190 <tr>
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>
193 </tr>
194 <tr>
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>
197 </tr>
198 </tbody>
199 </table></div>
200 </div>
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
205 </pre>
206 </div>
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>
216 </div>
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>
228 </div>
229 </div>
230 <hr>
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>
241 </div>
242 <p class="since">Since: <a class="link" href="ix11.html#api-index-1.2">1.2</a></p>
243 </div>
244 <hr>
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">
254 <colgroup>
255 <col width="150px" class="parameters_name">
256 <col class="parameters_description">
257 <col width="200px" class="parameters_annotations">
258 </colgroup>
259 <tbody><tr>
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>
263 </tr></tbody>
264 </table></div>
265 </div>
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>
271 </div>
272 </div>
273 <hr>
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">
283 <colgroup>
284 <col width="150px" class="parameters_name">
285 <col class="parameters_description">
286 <col width="200px" class="parameters_annotations">
287 </colgroup>
288 <tbody><tr>
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>
292 </tr></tbody>
293 </table></div>
294 </div>
295 </div>
296 <hr>
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">
309 <colgroup>
310 <col width="150px" class="parameters_name">
311 <col class="parameters_description">
312 <col width="200px" class="parameters_annotations">
313 </colgroup>
314 <tbody><tr>
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>
318 </tr></tbody>
319 </table></div>
320 </div>
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>
325 </div>
326 </div>
327 <hr>
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">
339 <colgroup>
340 <col width="150px" class="parameters_name">
341 <col class="parameters_description">
342 <col width="200px" class="parameters_annotations">
343 </colgroup>
344 <tbody><tr>
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>
348 </tr></tbody>
349 </table></div>
350 </div>
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>
355 </div>
356 </div>
357 <hr>
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">
370 <colgroup>
371 <col width="150px" class="parameters_name">
372 <col class="parameters_description">
373 <col width="200px" class="parameters_annotations">
374 </colgroup>
375 <tbody><tr>
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>
379 </tr></tbody>
380 </table></div>
381 </div>
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>
386 </div>
387 </div>
388 <hr>
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">
400 <colgroup>
401 <col width="150px" class="parameters_name">
402 <col class="parameters_description">
403 <col width="200px" class="parameters_annotations">
404 </colgroup>
405 <tbody>
406 <tr>
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>
410 </tr>
411 <tr>
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>
415 </tr>
416 </tbody>
417 </table></div>
418 </div>
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>
423 </div>
424 </div>
425 <hr>
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">
437 <colgroup>
438 <col width="150px" class="parameters_name">
439 <col class="parameters_description">
440 <col width="200px" class="parameters_annotations">
441 </colgroup>
442 <tbody><tr>
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>
446 </tr></tbody>
447 </table></div>
448 </div>
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>
453 </div>
454 </div>
455 <hr>
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>
462  as member of the
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">
470 <colgroup>
471 <col width="150px" class="parameters_name">
472 <col class="parameters_description">
473 <col width="200px" class="parameters_annotations">
474 </colgroup>
475 <tbody>
476 <tr>
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>
480 </tr>
481 <tr>
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>
485 </tr>
486 </tbody>
487 </table></div>
488 </div>
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>
493 </div>
494 </div>
495 <hr>
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>
502  as member of the
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">
510 <colgroup>
511 <col width="150px" class="parameters_name">
512 <col class="parameters_description">
513 <col width="200px" class="parameters_annotations">
514 </colgroup>
515 <tbody>
516 <tr>
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>
520 </tr>
521 <tr>
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>
525 </tr>
526 </tbody>
527 </table></div>
528 </div>
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>
533 </div>
534 </div>
535 <hr>
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>
542  as member of the
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">
550 <colgroup>
551 <col width="150px" class="parameters_name">
552 <col class="parameters_description">
553 <col width="200px" class="parameters_annotations">
554 </colgroup>
555 <tbody>
556 <tr>
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>
560 </tr>
561 <tr>
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>
565 </tr>
566 </tbody>
567 </table></div>
568 </div>
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>
573 </div>
574 </div>
575 <hr>
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>
582  as member of the
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">
590 <colgroup>
591 <col width="150px" class="parameters_name">
592 <col class="parameters_description">
593 <col width="200px" class="parameters_annotations">
594 </colgroup>
595 <tbody>
596 <tr>
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>
600 </tr>
601 <tr>
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>
605 </tr>
606 </tbody>
607 </table></div>
608 </div>
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>
613 </div>
614 </div>
615 <hr>
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>
622  as member of the
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">
630 <colgroup>
631 <col width="150px" class="parameters_name">
632 <col class="parameters_description">
633 <col width="200px" class="parameters_annotations">
634 </colgroup>
635 <tbody>
636 <tr>
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>
640 </tr>
641 <tr>
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>
645 </tr>
646 </tbody>
647 </table></div>
648 </div>
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>
653 </div>
654 </div>
655 <hr>
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">
667 <colgroup>
668 <col width="150px" class="parameters_name">
669 <col class="parameters_description">
670 <col width="200px" class="parameters_annotations">
671 </colgroup>
672 <tbody><tr>
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>
676 </tr></tbody>
677 </table></div>
678 </div>
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>
683 </div>
684 </div>
685 </div>
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>
694 </div>
695 <hr>
696 <div class="refsect2">
697 <a name="JsonBuilderClass"></a><h3>struct JsonBuilderClass</h3>
698 <pre class="programlisting">struct JsonBuilderClass {
699 };
700 </pre>
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>
703 </div>
704 </div>
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>
716 </div>
717 </div>
718 <div class="refsect1">
719 <a name="JsonBuilder.see-also"></a><h2>See Also</h2>
720 <p>JsonGenerator</p>
721 </div>
722 </div>
723 <div class="footer">
724 <hr>Generated by GTK-Doc V1.25.1</div>
725 </body>
726 </html>