C語言中的字符串是由若干個字符組成的字符數組,用\0(或NULL)來表示字符串的結束。而JSON是一種輕量級的數據交換格式,它以鍵值對的形式來表示數據,其中鍵是一個字符串,值可以是一個字符串、數字、數組、對象等。在C語言中,我們需要將字符串轉換為JSON格式的數據。下面將介紹如何使用C語言中的庫函數將字符串轉換為JSON。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { const char *str = "{\" \"name\": \"Tom\", \"age\": 20, \"gender\": \"male\" }"; json_t *root; json_error_t error; root = json_loads(str, 0, &error); if (!root) { printf("json error on line %d: %s\n", error.line, error.text); return 1; } printf("%s", json_dumps(root, JSON_INDENT(4))); json_decref(root); return 0; }
在代碼中,首先定義了一個字符串str,用于存放JSON格式的數據。接著,我們使用json_t類型的指針root來存放轉換后的JSON數據,并通過json_loads()函數將字符串轉換為JSON數據。如果轉換出錯,則使用json_error_t類型的error來存放錯誤信息,并將錯誤信息打印出來。
最后,我們通過調用json_dumps()函數將JSON數據轉換為字符串并使用printf()函數將其輸出到屏幕上。需要注意的是,我們可以通過JSON_INDENT宏指定輸出字符串時的縮進格式。