cJSON的構造和解析

2021-08-04 20:59:00 字數 2160 閱讀 4535

對於cjson的使用,我主要是用來模擬遠端伺服器端返回的乙個

json

型別的目錄結構,客戶端進行獲取並進行解析,把解析出來的目錄按照原本的結構顯示在本地。

cjson

是乙個超輕巧,攜帶方便,單檔案,簡單的可以作為

ansi-c

標準的json

解析器。

進入cjson.h標頭檔案中可以檢視cjson的相關資訊。主要包括:cjson結構體、cjson型別、cjson的一些內部的函式等。

// cjson

結構體:

typedef

struct cjson cjson;

// cjson

型別:#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

用法: 1

、需要包含

cjson.h

標頭檔案,然後和

cjson.c

或庫檔案

libcjson.a

一起編譯即可使用。 2

、具體函式用法詳見

cjson.h中的

注釋 更多介紹機器使用請參考:

基本**如下:

#include

#include

#include

#include

"cjson.h"

char

* create1()

char

* create2()

char

* create3() ;

root=cjson_createobject();

cjson_additemtoobject(root, "root", img=cjson_createobject());

cjson_addnumbertoobject(img,"key",800);

cjson_addnumbertoobject(img,"value",600);

cjson_addstringtoobject(img,"title","sugon");

cjson_additemtoobject(img,"child",thm=cjson_createobject());

cjson_addnumbertoobject(thm,"key",125);

cjson_addstringtoobject(thm,"value","100");

cjson_addstringtoobject(thm,"url","www.sugon.com");

cjson_additemtoobject(img,"nums", cjson_createintarray(nums,4));

out=cjson_print(root);

cjson_delete(root);

return out; }

char

* create4()

void

parse1(char *out)

} }

void

parse2(char *out)

child = cjson_getobjectitem(root,"child");

if(child)  

}  }

} }

intmain()

執行結果如下圖所示:

上圖為建立json結構體和解析後的結果圖(分別為create1,parse1、create2,parse2),後兩個(create3、create4)建立了沒有進行解析,因為很簡單,自己動手試試吧!相信自己,有些事情其實還是會很容易做到的。

注: ╰☆奮鬥ing❤孩子`

原文:

cjson構建 cJSON的構造和解析

對於cjson的使用,我主要是用來模擬遠端伺服器端返回的乙個json型別的目錄結構,客戶端進行獲取並進行解析,把解析出來的目錄按照原本的結構顯示在本地。cjson是乙個超輕巧,攜帶方便,單檔案,簡單的可以作為ansi c標準的json解析器。cjson結構體 typedef struct cjson...

CJson使用(構造和解析)

cjson,目前來說,就只有兩個檔案,乙個cjson.c 乙個cjson.件。工程裡新增這兩個檔案就可以使用cjson構造或者解析相應的檔案。cjson cjson createobject 建立乙個json物件,返回乙個cjson結構體型別的指標。cjson cjson createarray 建...

cJSON的構建和解析

一 cjson構建 define module num 3 int encode json cjson root cjson createobject 在根節點建立cjson物件 root cjson name list array cjson createarray 建立陣列物件 name lis...