C语言使用#include "cJSON.h"解析JSON[{"start":1,"port":"RS485_1"},{"start":0,"port":"RS485_0"}]
时间: 2023-10-05 12:07:18 浏览: 144
C语言使用#include "cJSON.h"解析JSON[{"start":1,"port":"RS485_1"},{"start":0,"port":"RS485_0"}]的代码如下:
#include <stdio.h>
#include "cJSON.h"
int main() {
char *json_string = "[{\"start\":1,\"port\":\"RS485_1\"},{\"start\":0,\"port\":\"RS485_0\"}]";
cJSON *json = cJSON_Parse(json_string);
if (json == NULL) {
printf("Error parsing JSON\n");
return 1;
}
cJSON *item = cJSON_GetArrayItem(json, 0);
int start = cJSON_GetObjectItem(item, "start")->valueint;
char *port = cJSON_GetObjectItem(item, "port")->valuestring;
printf("start: %d\n", start);
printf("port: %s\n", port);
cJSON_Delete(json);
return 0;
}
相关问题
#include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include "MQTTClient.h" #include <stdint.h> #include <signal.h> /* sigaction */ #include <errno.h> #include "sqlite3.h" #include "pan_reg.h" #include "spi_func.h" #include "auxiliary.h" #if !defined(WIN32) #include <unistd.h> #else #include <windows.h> #endif #include <netdb.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <math.h> /* modf */ #include "cJSON.h" #include <fcntl.h> #include "uart.h" #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h>
这是一段 C 语言的代码,包含了一些头文件的引用,如 pthread.h、stdio.h、stdlib.h、string.h、MQTTClient.h、stdint.h、signal.h、errno.h、sqlite3.h、netdb.h、sys/types.h、sys/socket.h、netinet/in.h、math.h、cJSON.h、fcntl.h 和 uart.h。这段代码中可能包含了一些线程库、网络库、消息队列、JSON 解析等相关的函数。具体实现需要查看代码的具体逻辑。
C语言使用#include "cJSON.h"将{"messageId":"11223344","deviceId":"slave1","request":"2112"}处理为三个变量字符串
在C语言中,可以使用cJSON库来处理JSON字符串。首先,您需要包含cJSON.h头文件,并使用cJSON_Parse函数将JSON字符串解析为cJSON对象。然后,您可以使用cJSON_GetObjectItem函数获取JSON对象中的各个字段,并将其转换为字符串。
下面是一个使用cJSON库处理您提供的JSON字符串的示例代码:
#include "cJSON.h"
const char *jsonStr = "{\"messageId\":\"11223344\",\"deviceId\":\"slave1\",\"request\":\"2112\"}";
cJSON *root = cJSON_Parse(jsonStr);
if (root != NULL) {
cJSON *messageId = cJSON_GetObjectItem(root, "messageId");
cJSON *deviceId = cJSON_GetObjectItem(root, "deviceId");
cJSON *request = cJSON_GetObjectItem(root, "request");
const char *messageIdStr = messageId->valuestring;
const char *deviceIdStr = deviceId->valuestring;
const char *requestStr = request->valuestring;
// 使用messageIdStr、deviceIdStr和requestStr进行后续操作
cJSON_Delete(root);
}
请注意,以上代码假设您已正确安装和配置了cJSON库,并且将其头文件和库文件正确包含在您的项目中。
阅读全文