代码下载 https://download.csdn.net/download/qq_25205045/10885751
- cJSON_Parse(pdata); //传递数据接口 提供一个JSON块,这将返回一个可以查询的CJSON对象。完成后调用return cJSON_ParseWithOpts(value,0,0)
1.1cJSON_ParseWithOpts(const char *value,const char **return_parse_end,int require_null_terminated)解析一个对象-创建一个新的根,并填充
1.1.1内部构造函数。cJSON_New_Item();动态分配空间 如果空间分配为0 返回0 end=parse_value(c,skip(value),ep); 解析器核心(解析字符串,数组,对象,null,false,true)-遇到文本结尾时,进行适当的处理。并更新c 如果end为0 释放内存 返回0
解析核心
/* Parser core - when encountering text, process appropriately. */
static const char *ICACHE_FLASH_ATTR
parse_value(cJSON *item,const char *value,const char **ep)
{
if (!value) return 0; /* Fail on null. */
if (!strncmp(value,"null",4)) { item->type=cJSON_NULL; return value+4; }
if (!strncmp(value,"false",5)) { item->type&#