cJSON獲取數組元素的每個值
{ "operType": 0x5, "field": ["time","matchRule","level"] }
獲得上述cjson數據cjsonDate中的"field"數組的每個元素
cJSON *arr = NULL, *obj = NULL; int size = 0, i = 0; arr = cJSON_GetObjectItem(cjsonDate, "field"); size = cJSON_GetArraySize(arr); for(i=0; i<size; i++) { object = cJSON_GetArrayItem(arr, i); fprintf(stdout, "%s\n", obj->valuestring); }
php調用C接口
<?php $s1 = "{ \"operType\":\"5\", \"field\":[\"time\",\"matchRule\",\"level\"] }"; $concat_str = SessionQuery($s1); echo $concat_str; ?>
php調用SessionQuery,然后調用不同的C接口。當替換的動態庫存在段錯誤(沒有聲明函數而直接調用或者原本int數據卻用%s輸出,這時的C編譯動態庫是不報錯的),php執行會報錯,相應日志也不會生成。
postman進行發報文
比腳本測得更精確,推薦這種方式進行測試。