|  |  |  | JSON-GLib Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
struct JsonBuilder; struct JsonBuilderClass; JsonBuilder * json_builder_new (void); JsonNode * json_builder_get_root (JsonBuilder *builder); void json_builder_reset (JsonBuilder *builder); JsonBuilder * json_builder_begin_array (JsonBuilder *builder); JsonBuilder * json_builder_end_array (JsonBuilder *builder); JsonBuilder * json_builder_begin_object (JsonBuilder *builder); JsonBuilder * json_builder_set_member_name (JsonBuilder *builder,const gchar *member_name); JsonBuilder * json_builder_end_object (JsonBuilder *builder); JsonBuilder * json_builder_add_value (JsonBuilder *builder,JsonNode *node); JsonBuilder * json_builder_add_int_value (JsonBuilder *builder,gint64 value); JsonBuilder * json_builder_add_double_value (JsonBuilder *builder,gdouble value); JsonBuilder * json_builder_add_boolean_value (JsonBuilder *builder,gboolean value); JsonBuilder * json_builder_add_string_value (JsonBuilder *builder,const gchar *value); JsonBuilder * json_builder_add_null_value (JsonBuilder *builder);
JsonBuilder provides an object for generating a JSON tree. You can generate only one tree with one JsonBuilder instance.
The root of the JSON tree can be either a JsonObject or a JsonArray.
Thus the first call must necessarily be either
json_builder_begin_object() or json_builder_begin_array().
For convenience to language bindings, JsonBuilder returns itself from most of functions, making it easy to chain function calls.
struct JsonBuilder;
The JsonBuilder structure contains only private data and shouls be accessed using the provided API
Since 0.12
struct JsonBuilderClass {
};
The JsonBuilder structure contains only private data
Since 0.12
JsonBuilder *       json_builder_new                    (void);
Creates a new JsonBuilder. You can use this object to generate a JSON tree and obtain the root JsonNodes.
| Returns : | the newly created JsonBuilder instance | 
JsonNode *          json_builder_get_root               (JsonBuilder *builder);
Returns the root of the current constructed tree, if the build is complete (ie: all opened objects, object members and arrays are being closed).
| 
 | a JsonBuilder | 
| Returns : | the JsonNode, or NULLif the build is not complete.
Free the returned value withjson_node_free(). [transfer full] | 
void                json_builder_reset                  (JsonBuilder *builder);
Resets the state of the builder back to its initial state.
| 
 | a JsonBuilder | 
JsonBuilder *       json_builder_begin_array            (JsonBuilder *builder);
Opens a subarray inside the given builder. When done adding members to
the subarray, json_builder_end_array() must be called.
Can be called for first or only if the call is associated to an object member or an array element.
| 
 | a JsonBuilder | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder *       json_builder_end_array              (JsonBuilder *builder);
Closes the subarray inside the given builder that was opened by the most
recent call to json_builder_begin_array().
Cannot be called after json_builder_set_member_name().
| 
 | a JsonBuilder | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder *       json_builder_begin_object           (JsonBuilder *builder);
Opens a subobject inside the given builder. When done adding members to
the subobject, json_builder_end_object() must be called.
Can be called for first or only if the call is associated to an object member or an array element.
| 
 | a JsonBuilder | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder * json_builder_set_member_name (JsonBuilder *builder,const gchar *member_name);
Set the name of the next member in an object. The next call must add a value, open an object or an array.
Can be called only if the call is associated to an object.
| 
 | a JsonBuilder | 
| 
 | the name of the member | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder *       json_builder_end_object             (JsonBuilder *builder);
Closes the subobject inside the given builder that was opened by the most
recent call to json_builder_begin_object().
Cannot be called after json_builder_set_member_name().
| 
 | a JsonBuilder | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder * json_builder_add_value (JsonBuilder *builder,JsonNode *node);
If called after json_builder_set_member_name(), sets node as member of the
most recent opened object, otherwise node is added as element of the most
recent opened array.
| 
 | a JsonBuilder | 
| 
 | the value of the member or element | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder * json_builder_add_int_value (JsonBuilder *builder,gint64 value);
If called after json_builder_set_member_name(), sets value as member of the
most recent opened object, otherwise value is added as element of the most
recent opened array.
See also: json_builder_add_value()
| 
 | a JsonBuilder | 
| 
 | the value of the member or element | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder * json_builder_add_double_value (JsonBuilder *builder,gdouble value);
If called after json_builder_set_member_name(), sets value as member of the
most recent opened object, otherwise value is added as element of the most
recent opened array.
See also: json_builder_add_value()
| 
 | a JsonBuilder | 
| 
 | the value of the member or element | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder * json_builder_add_boolean_value (JsonBuilder *builder,gboolean value);
If called after json_builder_set_member_name(), sets value as member of the
most recent opened object, otherwise value is added as element of the most
recent opened array.
See also: json_builder_add_value()
| 
 | a JsonBuilder | 
| 
 | the value of the member or element | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder * json_builder_add_string_value (JsonBuilder *builder,const gchar *value);
If called after json_builder_set_member_name(), sets value as member of the
most recent opened object, otherwise value is added as element of the most
recent opened array.
See also: json_builder_add_value()
| 
 | a JsonBuilder | 
| 
 | the value of the member or element | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] | 
JsonBuilder *       json_builder_add_null_value         (JsonBuilder *builder);
If called after json_builder_set_member_name(), sets null as member of the
most recent opened object, otherwise null is added as element of the most
recent opened array.
See also: json_builder_add_value()
| 
 | a JsonBuilder | 
| Returns : | the JsonBuilder, or NULLif the call was inconsistent. [transfer none] |