mirror of
https://github.com/DaveGamble/cJSON.git
synced 2023-08-10 21:13:26 +03:00
JSON print align indent
This commit is contained in:
parent
2955fe5ec4
commit
24aeeb340f
91
cJSON.c
91
cJSON.c
@ -1453,6 +1453,7 @@ static cJSON_bool print_array(const cJSON * const item, printbuffer * const outp
|
|||||||
unsigned char *output_pointer = NULL;
|
unsigned char *output_pointer = NULL;
|
||||||
size_t length = 0;
|
size_t length = 0;
|
||||||
cJSON *current_element = item->child;
|
cJSON *current_element = item->child;
|
||||||
|
size_t i;
|
||||||
|
|
||||||
if (output_buffer == NULL)
|
if (output_buffer == NULL)
|
||||||
{
|
{
|
||||||
@ -1471,6 +1472,25 @@ static cJSON_bool print_array(const cJSON * const item, printbuffer * const outp
|
|||||||
output_buffer->offset++;
|
output_buffer->offset++;
|
||||||
output_buffer->depth++;
|
output_buffer->depth++;
|
||||||
|
|
||||||
|
if (output_buffer->format)
|
||||||
|
{
|
||||||
|
output_pointer = ensure(output_buffer, output_buffer->depth + 1);
|
||||||
|
if (output_pointer == NULL)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
*output_pointer++ = '\n';
|
||||||
|
|
||||||
|
for (i = 0; i < output_buffer->depth; i++)
|
||||||
|
{
|
||||||
|
*output_pointer++ = '\t';
|
||||||
|
}
|
||||||
|
|
||||||
|
output_buffer->offset += output_buffer->depth + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
while (current_element != NULL)
|
while (current_element != NULL)
|
||||||
{
|
{
|
||||||
if (!print_value(current_element, output_buffer))
|
if (!print_value(current_element, output_buffer))
|
||||||
@ -1481,7 +1501,7 @@ static cJSON_bool print_array(const cJSON * const item, printbuffer * const outp
|
|||||||
if (current_element->next)
|
if (current_element->next)
|
||||||
{
|
{
|
||||||
length = (size_t) (output_buffer->format ? 2 : 1);
|
length = (size_t) (output_buffer->format ? 2 : 1);
|
||||||
output_pointer = ensure(output_buffer, length + 1);
|
output_pointer = ensure(output_buffer, length);
|
||||||
if (output_pointer == NULL)
|
if (output_pointer == NULL)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@ -1497,6 +1517,24 @@ static cJSON_bool print_array(const cJSON * const item, printbuffer * const outp
|
|||||||
current_element = current_element->next;
|
current_element = current_element->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (output_buffer->format)
|
||||||
|
{
|
||||||
|
output_pointer = ensure(output_buffer, output_buffer->depth);
|
||||||
|
if (output_pointer == NULL)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
*output_pointer++ = '\n';
|
||||||
|
|
||||||
|
for (i = 0; i < output_buffer->depth - 1; i++)
|
||||||
|
{
|
||||||
|
*output_pointer++ = '\t';
|
||||||
|
}
|
||||||
|
|
||||||
|
output_buffer->offset += output_buffer->depth;
|
||||||
|
}
|
||||||
|
|
||||||
output_pointer = ensure(output_buffer, 2);
|
output_pointer = ensure(output_buffer, 2);
|
||||||
if (output_pointer == NULL)
|
if (output_pointer == NULL)
|
||||||
{
|
{
|
||||||
@ -1623,6 +1661,7 @@ static cJSON_bool print_object(const cJSON * const item, printbuffer * const out
|
|||||||
{
|
{
|
||||||
unsigned char *output_pointer = NULL;
|
unsigned char *output_pointer = NULL;
|
||||||
size_t length = 0;
|
size_t length = 0;
|
||||||
|
size_t i;
|
||||||
cJSON *current_item = item->child;
|
cJSON *current_item = item->child;
|
||||||
|
|
||||||
if (output_buffer == NULL)
|
if (output_buffer == NULL)
|
||||||
@ -1631,20 +1670,48 @@ static cJSON_bool print_object(const cJSON * const item, printbuffer * const out
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Compose the output: */
|
/* Compose the output: */
|
||||||
length = (size_t) (output_buffer->format ? 2 : 1); /* fmt: {\n */
|
|
||||||
output_pointer = ensure(output_buffer, length + 1);
|
|
||||||
if (output_pointer == NULL)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
*output_pointer++ = '{';
|
|
||||||
output_buffer->depth++;
|
|
||||||
if (output_buffer->format)
|
if (output_buffer->format)
|
||||||
{
|
{
|
||||||
|
/* Compose the output: */
|
||||||
|
length = (size_t) (output_buffer->depth ? output_buffer->depth + 1: 0) + 2 ; /* fmt: { more \t \n */
|
||||||
|
output_pointer = ensure(output_buffer, length + 1);
|
||||||
|
if (output_pointer == NULL)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(output_buffer->depth)
|
||||||
|
{
|
||||||
|
*output_pointer++ = '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < output_buffer->depth; i++)
|
||||||
|
{
|
||||||
|
*output_pointer++ = '\t';
|
||||||
|
}
|
||||||
|
|
||||||
|
*output_pointer++ = '{';
|
||||||
*output_pointer++ = '\n';
|
*output_pointer++ = '\n';
|
||||||
|
|
||||||
|
output_buffer->depth++;
|
||||||
|
output_buffer->offset += length;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Compose the output: */
|
||||||
|
length = (size_t)1; /* fmt: {\n */
|
||||||
|
output_pointer = ensure(output_buffer, length + 1);
|
||||||
|
if (output_pointer == NULL)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
*output_pointer++ = '{';
|
||||||
|
|
||||||
|
output_buffer->depth++;
|
||||||
|
output_buffer->offset += length;
|
||||||
}
|
}
|
||||||
output_buffer->offset += length;
|
|
||||||
|
|
||||||
while (current_item)
|
while (current_item)
|
||||||
{
|
{
|
||||||
@ -1679,7 +1746,7 @@ static cJSON_bool print_object(const cJSON * const item, printbuffer * const out
|
|||||||
*output_pointer++ = ':';
|
*output_pointer++ = ':';
|
||||||
if (output_buffer->format)
|
if (output_buffer->format)
|
||||||
{
|
{
|
||||||
*output_pointer++ = '\t';
|
*output_pointer++ = ' ';
|
||||||
}
|
}
|
||||||
output_buffer->offset += length;
|
output_buffer->offset += length;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user