Class

JsonBuilder

since: 1.0

Description [src]

class Json.Builder : GObject.Object
{
  /* No available fields */
}

JsonBuilder provides an object for generating a JSON tree.

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, most JsonBuilder method return the instance, making it easy to chain function calls.

Using JsonBuilder

g_autoptr(JsonBuilder) builder = json_builder_new ();

json_builder_begin_object (builder);

json_builder_set_member_name (builder, "url");
json_builder_add_string_value (builder, "http://www.gnome.org/img/flash/two-thirty.png");

json_builder_set_member_name (builder, "size");
json_builder_begin_array (builder);
json_builder_add_int_value (builder, 652);
json_builder_add_int_value (builder, 242);
json_builder_end_array (builder);

json_builder_end_object (builder);

g_autoptr(JsonNode) root = json_builder_get_root (builder);

g_autoptr(JsonGenerator) gen = json_generator_new ();
json_generator_set_root (gen, root);
g_autofree char *str = json_generator_to_data (gen, NULL);

// str now contains the following JSON data
// { "url" : "http://www.gnome.org/img/flash/two-thirty.png", "size" : [ 652, 242 ] }

Available since: 1.0

Hierarchy

hierarchy this JsonBuilder ancestor_0 GObject ancestor_0--this

Ancestors

Constructors

json_builder_new

Creates a new JsonBuilder.

since: 1.0

json_builder_new_immutable

Creates a new, immutable JsonBuilder instance.

since: 1.2

Instance methods

json_builder_add_boolean_value

Adds a boolean value to the currently open object member or array.

since: 1.0

json_builder_add_double_value

Adds a floating point value to the currently open object member or array.

since: 1.0

json_builder_add_int_value

Adds an integer value to the currently open object member or array.

since: 1.0

json_builder_add_null_value

Adds a null value to the currently open object member or array.

since: 1.0

json_builder_add_string_value

Adds a string value to the currently open object member or array.

since: 1.0

json_builder_add_value

Adds a value to the currently open object member or array.

since: 1.0

json_builder_begin_array

Opens an array inside the given builder.

since: 1.0

json_builder_begin_object

Opens an object inside the given builder.

since: 1.0

json_builder_end_array

Closes the array inside the given builder that was opened by the most recent call to json_builder_begin_array().

since: 1.0

json_builder_end_object

Closes the object inside the given builder that was opened by the most recent call to json_builder_begin_object().

since: 1.0

json_builder_get_root

Returns the root of the currently constructed tree.

since: 1.0

json_builder_reset

Resets the state of the builder back to its initial state.

since: 1.0

json_builder_set_member_name

Sets the name of the member in an object.

since: 1.0

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Json.Builder:immutable

Whether the tree should be immutable when created.

since: 1.2

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

unstable since: 2.0

Class structure

struct JsonBuilderClass {
  void (* _json_reserved1) (
void
  );
  void (* _json_reserved2) (
void
  );
  
}
No description available.
Class members
_json_reserved1: void (* _json_reserved1) ( void )
No description available.
_json_reserved2: void (* _json_reserved2) ( void )
No description available.