cJSON的簡單應用(json物件 陣列)

2021-08-07 09:34:06 字數 3425 閱讀 1359

cjson 結構:

typedef struct cjson cjson;

object 、item、 array 都是乙個cjson物件

json讀入:

1.      建立json根物件將json字串解析到跟物件

2.      從跟物件中獲取item  item可能是 item、object、array

1、   item: 直接通過item->valuestring或item->valueintitem->valuefloat獲得字串的值、或者整形值浮點型

2、   object:從根物件中獲得的item為object ,那麼接著從當前object中獲得item

3、   array:從跟物件中獲得的item為array,那麼需要你得到陣列長度 然後從陣列中獲得相應的物件 繼續處理

3.      釋放json空間

cjson*root_input=cjson_parse(charjson);  //將字串形式的json資料解析給cjson物件

cjson*item=cjson_getobjectitem(cmdroot_input,"cmd");//向json物件中讀取item  item可以是乙個簡單item  也可以是乙個json物件  讀入json物件或陣列用 cjson*objectson=cmdroot->child 若是json物件就做如上處理

若是陣列

intarraylen=cjson_getarraysize(objectson);

cjsontemobj=cjson_getarrayitem(objectson,i);//imemcpy(cmd_input.cmd,item->valuestring,strlen(item->valuestring)+1);

item=cjson_getobjectitem(cmdroot_input,"num");

cmd_input.num=item->valueint;

cjson_delete(cmdroot_input);

json寫入:

1.      建立json root物件分配空間

2.      向root物件中新增 item item可以是item 、object 、array

1、item:用cjson_createstring() cjson_createnumber()建立的item

2、object:先建立json物件分配空間 可以向當前物件中新增item

3、array:先建立array 分配空間 然後向當前的array新增object

3.生成json root物件 的json字串

4釋放json root空間

cJSON對json資料的解析

目標 對下面這種結構的json資料解析 處理步驟 1.將json資料儲存在a.txt內 2.用fopen對資料檔案進行讀取 3.將讀取出的資料流寫入到乙個字串陣列中 4.用cjson parse將字串陣列轉換為json資料物件root 5.對root由外層向內層解析 如下 include inclu...

JSON簡單應用

今天做乙個小功能,用ajax來提取資料列表,這裡需要用到json。後台把陣列用zend json encode value 處理下 zf框架 或者json encode 也可以。前端用js的for in把陣列迴圈,前端web 一起拼裝放到乙個字串變數裡,最後innerhtml 後台 function...

JSON物件的簡單應用

test public void test1 jsonobject obj jsonobject.fromobject book system.out println obj.tostring jsonarray,比如將list轉換為json陣列。test public void test2 我們還...