使用cJSON解析JSON
一、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进行发报文
比脚本测得更精确,推荐这种方式进行测试。
四、参考
作者:yusq77
-------------------------------------------
Wish you all the best and good health in 2021.