使用cJSON 获取http请求body中的参数
要使用cJSON获取HTTP请求体中的参数,您需要先解析HTTP请求体,然后使用cJSON库来解析JSON数据。
下面是一个示例代码,演示如何使用cJSON来解析HTTP请求体中的参数:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cJSON.h"
// 解析HTTP请求体中的参数
void parseRequestBody(const char* requestBody) {
// 解析JSON数据
cJSON* root = cJSON_Parse(requestBody);
if (root == NULL) {
printf("Failed to parse JSON data.\n");
return;
}
// 获取参数值
cJSON* param1 = cJSON_GetObjectItem(root, "param1");
if (param1 != NULL && param1->type == cJSON_String) {
printf("param1: %s\n", param1->valuestring);
} else {
printf("Failed to get param1.\n");
}
cJSON* param2 = cJSON_GetObjectItem(root, "param2");
if (param2 != NULL && param2->type == cJSON_Number) {
printf("param2: %d\n", param2->valueint);
} else {
printf("Failed to get param2.\n");
}
// 释放内存
cJSON_Delete(root);
}
int main() {
// 模拟HTTP请求体
const char* requestBody = "{\"param1\":\"value1\",\"param2\":123}";
// 解析HTTP请求体中的参数
parseRequestBody(requestBody);
return 0;
}
在上面的示例代码中,我们使用cJSON_Parse函数解析了一个JSON字符串,然后使用cJSON_GetObjectItem函数获取了参数的值,并进行了类型检查。最后使用cJSON_Delete函数释放了分配的内存。
您可以根据自己的需要修改示例代码,以适应您的实际情况
原文地址: https://www.cveoy.top/t/topic/iClm 著作权归作者所有。请勿转载和采集!