| 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