![]() |
![]() |
![]() |
JSON-GLib Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
struct JsonGenerator; struct JsonGeneratorClass; JsonGenerator * json_generator_new (void
); void json_generator_set_root (JsonGenerator *generator
,JsonNode *node
); JsonNode * json_generator_get_root (JsonGenerator *generator
); void json_generator_set_pretty (JsonGenerator *generator
,gboolean is_pretty
); gboolean json_generator_get_pretty (JsonGenerator *generator
); void json_generator_set_indent (JsonGenerator *generator
,guint indent_level
); guint json_generator_get_indent (JsonGenerator *generator
); void json_generator_set_indent_char (JsonGenerator *generator
,gunichar indent_char
); gunichar json_generator_get_indent_char (JsonGenerator *generator
); gboolean json_generator_to_file (JsonGenerator *generator
,const gchar *filename
,GError **error
); gchar * json_generator_to_data (JsonGenerator *generator
,gsize *length
); gboolean json_generator_to_stream (JsonGenerator *generator
,GOutputStream *stream
,GCancellable *cancellable
,GError **error
);
"indent" guint : Read / Write "indent-char" guint : Read / Write "pretty" gboolean : Read / Write "root" JsonNode* : Read / Write
JsonGenerator provides an object for generating a JSON data stream and put it into a buffer or a file.
struct JsonGenerator;
JSON data streams generator. The contents of the JsonGenerator structure are private and should only be accessed via the provided API.
JsonGenerator * json_generator_new (void
);
Creates a new JsonGenerator. You can use this object to generate a JSON data stream starting from a data object model composed by JsonNodes.
Returns : |
the newly created JsonGenerator instance |
void json_generator_set_root (JsonGenerator *generator
,JsonNode *node
);
Sets node
as the root of the JSON data stream to be serialized by
the JsonGenerator.
|
a JsonGenerator |
|
a JsonNode |
JsonNode * json_generator_get_root (JsonGenerator *generator
);
Retrieves a pointer to the root JsonNode set using
json_generator_set_root()
.
|
a JsonGenerator |
Returns : |
a JsonNode, or NULL . The returned node
is owned by the JsonGenerator and it should not be freed. [transfer none]
|
Since 0.14
void json_generator_set_pretty (JsonGenerator *generator
,gboolean is_pretty
);
Sets whether the generated JSON should be pretty printed, using the indentation character specified in the "indent-char" property and the spacing specified in "indent" property.
|
a JsonGenerator |
|
whether the generated string should be pretty printed |
Since 0.14
gboolean json_generator_get_pretty (JsonGenerator *generator
);
Retrieves the value set using json_generator_set_pretty()
.
|
a JsonGenerator |
Returns : |
TRUE if the generated JSON should be pretty-printed, and
FALSE otherwise |
Since 0.14
void json_generator_set_indent (JsonGenerator *generator
,guint indent_level
);
Sets the number of repetitions for each indentation level.
|
a JsonGenerator |
|
the number of repetitions of the indentation character that should be applied when pretty printing |
Since 0.14
guint json_generator_get_indent (JsonGenerator *generator
);
Retrieves the value set using json_generator_set_indent()
.
|
a JsonGenerator |
Returns : |
the number of repetitions per indentation level |
Since 0.14
void json_generator_set_indent_char (JsonGenerator *generator
,gunichar indent_char
);
Sets the character to be used when indenting
|
a JsonGenerator |
|
a Unicode character to be used when indenting |
Since 0.14
gunichar json_generator_get_indent_char (JsonGenerator *generator
);
Retrieves the value set using json_generator_set_indent_char()
.
|
a JsonGenerator |
Returns : |
the character to be used when indenting |
Since 0.14
gboolean json_generator_to_file (JsonGenerator *generator
,const gchar *filename
,GError **error
);
Creates a JSON data stream and puts it inside filename
, overwriting the
current file contents. This operation is atomic.
|
a JsonGenerator |
|
path to the target file |
|
return location for a GError, or NULL
|
Returns : |
TRUE if saving was successful. |
gchar * json_generator_to_data (JsonGenerator *generator
,gsize *length
);
Generates a JSON data stream from generator
and returns it as a
buffer.
|
a JsonGenerator |
|
return location for the length of the returned
buffer, or NULL . [out]
|
Returns : |
a newly allocated buffer holding a JSON data stream.
Use g_free() to free the allocated resources. |
gboolean json_generator_to_stream (JsonGenerator *generator
,GOutputStream *stream
,GCancellable *cancellable
,GError **error
);
Outputs JSON data and streams it (synchronously) to stream
.
|
a JsonGenerator |
|
a GOutputStream |
|
a GCancellable, or NULL . [allow-none]
|
|
return location for a GError, or NULL
|
Returns : |
TRUE if the write operation was successful, and FALSE
on failure. In case of error, the GError will be filled accordingly |
Since 0.12
"indent"
property "indent" guint : Read / Write
Number of spaces to be used to indent when pretty printing.
Default value: 2
"indent-char"
property "indent-char" guint : Read / Write
The character that should be used when indenting in pretty print.
Default value: ' '
Since 0.6
"pretty"
property "pretty" gboolean : Read / Write
Whether the output should be "pretty-printed", with indentation and newlines. The indentation level can be controlled by using the JsonGenerator:indent property
Default value: FALSE