diff --git a/json_object.c b/json_object.c index d0aba48..e6bd870 100644 --- a/json_object.c +++ b/json_object.c @@ -300,7 +300,14 @@ static void indent(struct printbuf *pb, int level, int flags) { if (flags & JSON_C_TO_STRING_PRETTY) { - printbuf_memset(pb, -1, ' ', level * 2); + if (flags & JSON_C_TO_STRING_PRETTY_TAB) + { + printbuf_memset(pb, -1, '\t', level); + } + else + { + printbuf_memset(pb, -1, ' ', level * 2); + } } } diff --git a/json_object.h b/json_object.h index 2bdfd5f..5e0cf71 100644 --- a/json_object.h +++ b/json_object.h @@ -50,6 +50,14 @@ extern "C" { * for an example of the format. */ #define JSON_C_TO_STRING_PRETTY (1<<1) +/** + * A flag for the json_object_to_json_string_ext() and + * json_object_to_file_ext() functions which causes + * the output to be formatted. + * + * Instead of a "Two Space Tab" this gives a single tab character. + */ +#define JSON_C_TO_STRING_PRETTY_TAB (1<<3) /** * A flag to drop trailing zero for float values */