一、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进行发报文

比脚本测得更精确,推荐这种方式进行测试。

使用cJSON解析JSON

四、参考

GitHub

使用cJSON解析JSON字符串

相关文章:

  • 2018-07-06
  • 2022-01-13
  • 2021-12-05
  • 2021-09-08
  • 2022-12-23
  • 2022-12-23
  • 2021-11-17
  • 2021-09-26
猜你喜欢
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-07
  • 2022-12-23
相关资源
相似解决方案