使用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進行發報文

比腳本測得更精確,推薦這種方式進行測試。

 

參考

GitHub

使用cJSON解析JSON字符串


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM