色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json數據寫入數據庫

方一強2年前8瀏覽0評論

C語言被廣泛應用于嵌入式設備和系統級編程,而JSON數據格式已經成為了一種通用的數據交換格式。

在C語言中,可以利用第三方庫來實現JSON的編解碼。其中較為常用的是cJSON。而在將JSON數據寫入數據庫時,需要用到相應的數據庫操作庫,比如MySQL、PostgreSQL等。

以下是使用cJSON和MySQL C API將JSON數據寫入數據庫的一個示例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <mysql.h>
#include <cJSON.h>
int main() {
MYSQL *conn = mysql_init(NULL);
if (!conn) {
fprintf(stderr, "Error: Failed to initialize MySQL connection.\n");
return EXIT_FAILURE;
}
if (!mysql_real_connect(conn, "localhost", "username", "password", "database", 0, NULL, 0)) {
fprintf(stderr, "Error: Failed to connect to MySQL database.\n");
mysql_close(conn);
return EXIT_FAILURE;
}
const char *json_str = "{ \"name\": \"Alice\", \"age\": 18 }";
cJSON *json = cJSON_Parse(json_str);
if (!json) {
fprintf(stderr, "Error: Failed to parse JSON string.\n");
mysql_close(conn);
return EXIT_FAILURE;
}
char *name = cJSON_GetObjectItemCaseSensitive(json, "name")->valuestring;
int age = cJSON_GetObjectItemCaseSensitive(json, "age")->valueint;
char sql[256];
sprintf(sql, "INSERT INTO users (name, age) VALUES ('%s', %d)", name, age);
if (mysql_query(conn, sql)) {
fprintf(stderr, "Error: Failed to execute SQL statement.\n");
mysql_close(conn);
cJSON_Delete(json);
return EXIT_FAILURE;
}
printf("JSON data written to database successfully.\n");
mysql_close(conn);
cJSON_Delete(json);
return EXIT_SUCCESS;
}

通過cJSON的解析,可以方便地提取出JSON中的數據,并將其寫入數據庫中。