C語言中的字符串是以字符數組形式保存的,而JSON格式是一種輕量級的數據交換格式,常被用于前后端數據傳輸。因此,將C字符串保存為JSON格式是非常常見的需求。下面將通過代碼演示來詳細介紹如何實現這一功能。
#include <stdio.h> #include <stdlib.h> #include <string.h> #define BUFFER_SIZE 1024 void add_string_to_json(char* json, char* json_data){ strcat(json, "\""); strcat(json, json_data); strcat(json, "\","); } void add_number_to_json(char* json, int json_data){ char buffer[BUFFER_SIZE]; sprintf(buffer, "%d,", json_data); strcat(json, buffer); } int main() { char name[] = "張三"; int age = 18; char hobby[] = "籃球"; // 初始化json字符串 char json[BUFFER_SIZE]; json[0] = '\0'; // 添加json數據 strcat(json, "{"); add_string_to_json(json, "name"); add_string_to_json(json, name); add_string_to_json(json, "age"); add_number_to_json(json, age); add_string_to_json(json, "hobby"); add_string_to_json(json, hobby); json[strlen(json)-1] = '}'; // 去掉最后一個逗號 printf("%s", json); return 0; }
以上代碼展示了如何將一個C字符串轉化為JSON格式字符串。首先,我們聲明了兩個函數,一個用于將字符串類型數據添加到JSON中,一個用于將數字類型數據添加到JSON中。在main函數中,我們先聲明了三個變量,分別是字符串類型的name和hobby,以及整型的age。然后,我們初始化一個json字符串,并開始按照JSON格式逐個添加數據。最后,我們輸出JSON字符串,并在結尾去掉多余的逗號。