C语言函数cJSON_Print()的具体实现代码
时间: 2024-03-26 22:41:51 浏览: 138
cJSON_Print()函数的具体实现代码如下:
```c
char *cJSON_Print(const cJSON *item)
{
return print_value(item, 0, 1);
}
static char *print_value(const cJSON *item, int depth, int fmt)
{
char *out = NULL;
if (item == NULL)
return NULL;
switch ((item->type) & 255)
{
case cJSON_NULL:
out = ensure(out, 5);
sprintf(out, "null");
break;
case cJSON_False:
out = ensure(out, 6);
sprintf(out, "false");
break;
case cJSON_True:
out = ensure(out, 5);
sprintf(out, "true");
break;
case cJSON_Number:
out = print_number(item);
break;
case cJSON_String:
out = print_string(item, depth, fmt);
break;
case cJSON_Array:
out = print_array(item, depth, fmt);
break;
case cJSON_Object:
out = print_object(item, depth, fmt);
break;
}
return out;
}
```
其中,cJSON_Print()函数调用了print_value()函数,根据不同类型的cJSON节点,打印相应的值。在switch语句中,根据节点的类型,调用相应的打印函数进行处理,最终返回打印结果。
阅读全文