在C語言中,鍵值對是一種常見的數據結構,它由一系列的鍵和值組成,鍵和值之間用“=”號進行連接。而JSON則是當前最為廣泛使用的數據交換格式,它使用鍵值對的方式表示數據。因此,我們需要將鍵值對轉化為JSON格式,以便方便地進行數據交換和數據處理。
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_SIZE 100 struct KeyValuePair { char* key; char* value; }; char* keyValuePairsToJson(struct KeyValuePair* kvps, int len) { char* result = (char*) malloc(MAX_SIZE * sizeof(char)); sprintf(result, "{"); char* tmp; for (int i = 0; i< len; i++) { tmp = (char*) malloc(MAX_SIZE * sizeof(char)); sprintf(tmp, "\"%s\": \"%s\"", kvps[i].key, kvps[i].value); strcat(result, tmp); if (i != len - 1) { strcat(result, ","); } } strcat(result, "}"); return result; } int main() { struct KeyValuePair kvps[2]; kvps[0].key = "name"; kvps[0].value = "Peter"; kvps[1].key = "age"; kvps[1].value = "26"; char* json = keyValuePairsToJson(kvps, 2); printf("%s", json); free(json); return 0; }
在上述代碼中,我們定義了一個結構體KeyValuePair,它包含了鍵(key)和對應的值(value)。通過實現函數keyValuePairsToJson,在鍵值對數組中遍歷,將其轉化為JSON格式,最終將結果作為字符串返回。
在主函數中,我們定義了包含兩個鍵值對的結構體數組,通過函數keyValuePairsToJson將其轉化為JSON,然后輸出結果。
輸出結果為:
{"name": "Peter","age": "26"}
可以看到,我們成功將鍵值對轉換為JSON格式,并輸出了轉換結果。
上一篇vue dom重新渲染
下一篇c讀取json哈希表