C語言的字符串是由一系列的字符組成的數(shù)組,如果要把C語言的字符串轉(zhuǎn)換成JSON格式,需要定義一個JSON對象,然后把C語言字符串的內(nèi)容逐個添加到JSON對象中,最后調(diào)用JSON庫的序列化函數(shù)將JSON對象轉(zhuǎn)換成JSON格式字符串。
#include <stdio.h> #include <jansson.h> int main() { char str[] = "{'name': 'Tom', 'age': 18, 'salary': 2000.0}"; json_t *root; json_error_t error; root = json_loads(str, 0, &error); if (!root) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } json_dump(root, stdout, JSON_INDENT(4)); json_decref(root); return 0; }
在這個例子中,我們定義了一個變量str,它是一個C語言字符串,它表示一個包含了"name"、"age"和"salary"三個鍵值對的JSON對象。然后我們使用json_loads函數(shù)將這個字符串解析成一個JSON對象,并將其賦值給root變量。
接著,我們使用json_dump函數(shù)將JSON對象轉(zhuǎn)換成JSON格式的字符串,并輸出到控制臺上。在這個例子中,我們使用了JSON_INDENT宏來設(shè)置縮進,使得輸出的JSON格式字符串更易于閱讀。
最后,我們使用json_decref函數(shù)釋放JSON對象的內(nèi)存。