cJSON庫介紹
cJSON簡介:
JSON(JavaScriptObject Notation)是一種輕量級的資料交換格式。它基於JavaScript的一個子集。JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣。這些特性使JSON成為理想的資料交換語言。易於人閱讀和編寫,同時也易於機器解析和生成。
cJSON是一個超輕巧,攜帶方便,單檔案,簡單的可以作為ANSI-C標準的JSON解析器。
cJSON結構體:
typedefstruct cJSON {
structcJSON *next,*prev;
struct cJSON *child;
int type;
char * valuestring;
int valueint;
double valuedouble;
char *string;
}cJSON;
1、cJSON儲存的時候是採用連結串列儲存的,其訪問方式很像一顆樹。每一個節點可以有兄妹節點,通過next/prev指標來查詢,它類似雙向連結串列;每個節點也可以有孩子節點,通過child指標來訪問,進入下一層。
不過,只有節點是物件或陣列才可以有孩子節點。
2、type一共有7種取值,分別是:
#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
若是Number型別,則valueint或valuedouble中儲存著值,若你期望的是int,則訪問valueint,若期望的是double,則訪問valuedouble,可以得到值。
若是String型別的,則valuestring中儲存著值,可以訪問valuestring得到值。
3、string中存放的是這個節點的名字。
用法:
1、只需在函式中includecJSON.h標頭檔案,然後和cJSON.c或庫檔案libcJSON.a一起編譯即可使用。
2、具體函式用法詳見cJSON.h中註釋。