C 字符串轉成 JSON 字符串是常用的操作之一,下面我們來看下如何實現。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main() {
char* str = "{ \"name\": \"Lucy\", \"age\": 23 }"; // 定義一個 C 字符串
json_t* root = NULL;
json_error_t error;
root = json_loads(str, 0, &error); // 將 C 字符串轉成 JSON 對象
if(root != NULL) {
char* json_str = json_dumps(root, JSON_INDENT(2)); // 將 JSON 對象轉成格式化的 JSON 字符串
printf("JSON string: %s\n", json_str);
} else {
printf("JSON error: %s\n", error.text);
}
json_decref(root); // 釋放 JSON 對象的內存
return 0;
}
在上面的代碼中,我們使用了 jansson 庫來實現 C 字符串轉成 JSON 字符串。具體的操作步驟如下:
- 定義一個 C 字符串。
- 使用 json_loads() 函數將 C 字符串轉成 JSON 對象。
- 使用 json_dump() 函數將 JSON 對象轉成 JSON 字符串。
- 釋放 JSON 對象的內存。
在使用 jansson 庫時,一定要注意內存的申請和釋放,避免發生內存泄漏問題。
上一篇vue emoji 表情
下一篇python 求相關性