欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 接收json并入庫

林雅南2年前10瀏覽0評論

C語言作為一種廣泛使用的編程語言,擁有著廣泛的應用領域。在現代互聯網時代,隨著各種互聯網應用的普及,C語言的應用也越來越廣泛。本文將介紹C語言如何接收JSON并將其入庫。

#include#include#include#include#include#define DB_HOST "localhost"
#define DB_USER "root"
#define DB_PASS "password"
#define DB_NAME "test"
int main(int argc, char *argv[])
{
char *json_str = "{\"name\":\"Tom\",\"age\":20,\"score\":{\"math\":90,\"english\":80,\"chinese\":70}}";
cJSON *root;
cJSON *name, *age, *score, *math, *english, *chinese;
char query_str[1024];
MYSQL mysql;
mysql_init(&mysql);
if (!mysql_real_connect(&mysql, DB_HOST, DB_USER, DB_PASS, DB_NAME, 0, NULL, CLIENT_MULTI_STATEMENTS))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&mysql));
return 0;
}
root = cJSON_Parse(json_str);
if (!root)
{
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return 0;
}
name = cJSON_GetObjectItem(root, "name");
age = cJSON_GetObjectItem(root, "age");
score = cJSON_GetObjectItem(root, "score");
math = cJSON_GetObjectItem(score, "math");
english = cJSON_GetObjectItem(score, "english");
chinese = cJSON_GetObjectItem(score, "chinese");
sprintf(query_str, "INSERT INTO student(name, age, math, english, chinese) VALUES('%s', %d, %d, %d, %d);",
name->valuestring, age->valueint, math->valueint, english->valueint, chinese->valueint);
if (mysql_query(&mysql, query_str))
{
fprintf(stderr, "Failed to insert data into database: Error: %s\n", mysql_error(&mysql));
}
cJSON_Delete(root);
mysql_close(&mysql);
return 0;
}

上述程序中,首先我們定義了所需的頭文件,其次我們定義了數據庫的連接參數。我們使用了MySQL,可以通過修改這些參數改變數據庫連接目標。我們第一步是使用了cJSON庫將JSON字符串解析為一個CJSON對象,接著我們遍歷CJSON對象獲取所需的各項數值。最后,我們將數據插入到數據庫中。