在 C 語言開發中,我們經常需要處理 JSON 數據。JSON 是一種輕量級的數據交換格式,常用于前后端的數據交互與存儲。在處理 JSON 數據時,有時候我們需要把不同的變量拼接成一個 JSON 字符串。這時候我們可以使用 C 語言動態拼接 JSON 字符串。
#include <stdio.h> #include <stdlib.h> #include <string.h> // 拼接 JSON key-value char *add_kv(const char *key, const char *value) { char *kv = (char *)malloc(strlen(key) + strlen(value) + 5); sprintf(kv, "\"%s\":\"%s\",", key, value); return kv; } // 拼接 JSON 數組元素 char *add_array_element(const char *element) { char *el = (char *)malloc(strlen(element) + 3); sprintf(el, "\"%s\",", element); return el; } int main() { // JSON 對象 char *json_obj = "{"; // JSON 數組 char *json_arr = "["; // 拼接 JSON key-value json_obj = strcat(json_obj, add_kv("name", "John")); json_obj = strcat(json_obj, add_kv("age", "25")); json_obj = strcat(json_obj, add_kv("gender", "male")); // 拼接 JSON 數組元素 json_arr = strcat(json_arr, add_array_element("apple")); json_arr = strcat(json_arr, add_array_element("banana")); json_arr = strcat(json_arr, add_array_element("orange")); // 去掉最后一個逗號 json_obj[strlen(json_obj) - 1] = '}'; json_arr[strlen(json_arr) - 1] = ']'; printf("JSON Object: %s\n", json_obj); printf("JSON Array: %s\n", json_arr); // 釋放動態分配的內存 free(json_obj); free(json_arr); return 0; }
以上代碼演示了如何使用 C 語言動態拼接 JSON 字符串。代碼中定義了兩個函數,add_kv 用于拼接 JSON key-value,add_array_element 用于拼接 JSON 數組元素。在主函數中,我們首先創建了一個空的 JSON 對象和 JSON 數組。然后通過調用 add_kv 和 add_array_element 函數不斷地拼接 JSON key-value 和 JSON 數組元素。最后,我們需要把 JSON 對象和 JSON 數組的最后一個逗號去掉,然后輸出到控制臺。
動態拼接 JSON 字符串是 C 語言在處理 JSON 數據中非常常見的操作,也是 C 語言開發中的一種基本技能。當我們需要在 C 語言中處理 JSON 數據時,可以參考這篇文章,使用動態拼接技巧來生成 JSON 字符串。