From 050270446b09b6fd6822658141aeeead2fbc03d2 Mon Sep 17 00:00:00 2001 From: John Kerl Date: Sat, 30 Jan 2016 13:49:55 -0500 Subject: [PATCH] json-output iterate --- c/output/lrec_writer_json.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/c/output/lrec_writer_json.c b/c/output/lrec_writer_json.c index 45d5b5d8f..ef917df92 100644 --- a/c/output/lrec_writer_json.c +++ b/c/output/lrec_writer_json.c @@ -50,14 +50,24 @@ static void lrec_writer_json_process(FILE* output_stream, lrec_t* prec, void* pv fputs(",", output_stream); } - fputs("{ ", output_stream); + if (pstate->stack_vertically) { + fputs("{\n ", output_stream); + } else { + fputs("{ ", output_stream); + } int nf = 0; for (lrece_t* pe = prec->phead; pe != NULL; pe = pe->pnext) { - if (nf > 0) - fputs(", ", output_stream); + if (nf > 0) { + if (pstate->stack_vertically) + fputs(",\n ", output_stream); + else + fputs(", ", output_stream); + } + fputs("\"", output_stream); fputs(pe->key, output_stream); fputs("\"", output_stream); + if (pstate->quote_json_values_always) { fputs(": \"", output_stream); fputs(pe->value, output_stream); @@ -75,7 +85,11 @@ static void lrec_writer_json_process(FILE* output_stream, lrec_t* prec, void* pv } nf++; } - fputs(" }\n", output_stream); + if (pstate->stack_vertically) { + fputs("\n}\n", output_stream); + } else { + fputs(" }\n", output_stream); + } pstate->counter++; lrec_free(prec); // end of baton-pass