cjson结构定义-第12讲

Posted Linux编程学堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cjson结构定义-第12讲相关的知识,希望对你有一定的参考价值。


在 cJSON.h 文件中,可以找到该结构的定义如下:

/* The cJSON structure: */
typedef struct cJSON
    struct cJSON *next,*prev;    /* next/prev allow you to walk array/object chains. Alternatively, use GetArraySize/GetArrayItem/GetObjectItem */
    struct cJSON *child;        /* An array or object item will have a child pointer pointing to a chain of the items in the array/object. */

    int type;                    /* The type of the item, as above. */

    char *valuestring;            /* The item's string, if type==cJSON_String */
    int valueint;                /* The item's number, if type==cJSON_Number */
    double valuedouble;            /* The item's number, if type==cJSON_Number */

    char *string;                /* The item's name string, if this item is the child of, or is in the list of subitems of an object. */
cJSON;

分析:

next, prev     --- 用于组成一个双向链表;
child         --- 用于指向 JSON 的下一层;
type         --- 当前 JSON 节点的类型,有如下类型:

/* cJSON Types: */
#define cJSON_False 0
#define cJSON_True 1
#define cJSON_NULL 2
#define cJSON_Number 3
#define cJSON_String 4
#define cJSON_Array 5
#define cJSON_Object 6

valuestring     --- 是当 type 是 string 类型时,该成员指向一个 string 数值;
valueint    --- 是当 type 是 int 类型时,该成员是一个 int 数值;
valuedouble    --- 是当 type 是 double 类型时,该成员是一个 double 数值;

string        --- 是当前 JSON 的节点名称;

韦凯峰 Linux C/C++零基础编程教程
Linux系统编程,Openwrt系统开发

以上是关于cjson结构定义-第12讲的主要内容,如果未能解决你的问题,请参考以下文章

cjson结构定义-第12讲

json创建数组-第4讲

json创建数组-第4讲

cjson提取嵌套对象-第6讲

cjson提取嵌套对象-第6讲

cjson提取嵌套对象-第6讲