要使用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函数释放了分配的内存。

您可以根据自己的需要修改示例代码,以适应您的实际情况

使用cJSON 获取http请求body中的参数

原文地址: https://www.cveoy.top/t/topic/iClm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录