C語言作為一種基礎編程語言,在服務端開發中也有著廣泛的應用。其中,拼接JSON數據是服務端開發中常用的功能之一。下面,我們來看一下C語言服務端如何拼接JSON數據。
#include#include #include #include // 宏定義 #define MAX_JSON_LEN 1024 #define MAX_USER_LEN 32 // 用戶信息結構體 struct User { char name[MAX_USER_LEN]; // 姓名 int age; // 年齡 }; // 拼接JSON數據函數 bool concat_json(struct User user, char *json) { char buf[128]; // 緩存區 snprintf(buf, sizeof(buf), "{\"name\":\"%s\",\"age\":%d}", user.name, user.age); if (strlen(json) + strlen(buf)< MAX_JSON_LEN) { // 判斷JSON長度是否超過最大長度 strcat(json, buf); // 拼接JSON數據到目標字符串 return true; } return false; } int main(int argc, char *argv[]) { char json[MAX_JSON_LEN] = ""; // 初始化JSON字符串為空 struct User user1 = {"張三", 18}; // 用戶1信息 concat_json(user1, json); // 拼接JSON數據到目標字符串 struct User user2 = {"李四", 20}; // 用戶2信息 concat_json(user2, json); // 繼續拼接JSON數據到目標字符串 printf("%s\n", json); // 輸出JSON字符串 return 0; }
在上述代碼中,我們定義了一個User結構體,表示用戶信息。然后,編寫了一個拼接JSON數據的函數concat_json,根據傳入的User信息,生成JSON字符串,再將JSON數據拼接到目標字符串中。拼接時,需要判斷JSON數據長度是否超過最大長度,避免內存溢出。最后,我們在主函數中調用了兩次concat_json函數,拼接了兩個用戶信息的JSON數據到一個字符串中,再將結果打印出來。