SUPPORT-8821. Добавлен json_writer

This commit is contained in:
alashkova 2025-01-09 11:00:39 +03:00
parent eabc54da12
commit 919fd8cd7a
3 changed files with 62 additions and 0 deletions

View file

@ -121,6 +121,7 @@ ADD_EXECUTABLE (${PROJECT_NAME}
${UTILS_DIR}/gconf_file.c
${UTILS_DIR}/glib_utils.c
${UTILS_DIR}/json_parser.c
${UTILS_DIR}/json_writer.c
${UTILS_DIR}/jwt.c
${UTILS_DIR}/library.c
${UTILS_DIR}/logger.c

48
src/utils/json_writer.c Normal file
View file

@ -0,0 +1,48 @@
#include "json_writer.h"
#include "logger.h"
char *
json_write_to_str(JsonBuilder *builder)
{
char *out;
LOG_TRACE("json_write_to_str enter");
JsonNode *jnode = json_builder_get_root(builder);
if (jnode == NULL) {
LOG_ERROR("json_builder_get_root failed");
LOG_ERROR("json_write_to_str exit with error");
return NULL;
}
out = json_to_string(jnode, FALSE);
json_node_unref(jnode);
LOG_TRACE("json_write_to_str exit");
return out;
}
int
json_write_member_string(JsonBuilder *builder, const char *member_name, const char *value)
{
LOG_TRACE("json_write_member_string enter");
if (json_builder_set_member_name(builder, member_name) == NULL) {
LOG_ERROR("json_builder_set_member_name failed");
goto error;
}
if (json_builder_add_string_value(builder, value) == NULL) {
LOG_ERROR("json_builder_add_string_value failed");
goto error;
}
LOG_TRACE("json_write_member_string exit");
return 0;
error:
LOG_ERROR("json_write_member_string exit with error");
return -1;
}

13
src/utils/json_writer.h Normal file
View file

@ -0,0 +1,13 @@
#ifndef JSON_WRITER_H_INCLUDED
#define JSON_WRITER_H_INCLUDED
#include <json-glib/json-glib.h>
char* json_write_to_str(JsonBuilder *builder);
int json_write_member_string(JsonBuilder *builder, const char *member_name, const char *value);
#endif // JSON_WRITER_H_INCLUDED