如何將C字符串轉(zhuǎn)換成JSON格式數(shù)據(jù)?下面是一個簡單的例子。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { char* str = "{ \"name\": \"Alice\", \"age\":31 }"; json_error_t error; json_t* json = json_loads(str, 0, &error); if(!json) { printf("Error: %s\n", error.text); return 1; } char* json_str = json_dumps(json, 0); printf("%s\n", json_str); free(json_str); json_decref(json); return 0; }
上面代碼首先定義了一個字符串變量`str`,里面存放的是JSON格式的數(shù)據(jù)。然后通過`json_loads`函數(shù)將這個字符串轉(zhuǎn)換成JSON對象`json`,如果轉(zhuǎn)換失敗則打印錯誤信息并返回1。
接著,調(diào)用`json_dumps`函數(shù)將JSON對象轉(zhuǎn)換成字符串,并輸出。最后釋放內(nèi)存,退出程序。
使用`json_loads`和`json_dumps`這兩個函數(shù)可以方便地將C字符串和JSON格式相互轉(zhuǎn)換,同時還能處理JSON數(shù)據(jù)的解析、輸出等操作。