C語言中的Json轉字符串格式是相當常見的操作,而這種操作可以通過Json-c這個第三方庫輕松實現,Json-c是開放源代碼的C語言Json解析器和生成器,它提供了簡潔高效的API,可以方便地實現Json字符串和C語言數據結構之間的轉換。
#include <stdio.h>
#include <json-c/json.h>
int main()
{
char* json_string = "{\"name\":\"Jack\", \"age\":20, \"gender\":\"male\"}";
// 解析Json字符串
json_object* json = json_tokener_parse(json_string);
// 獲取Json鍵值對,打印輸出
const char* name = json_object_get_string(json_object_object_get(json, "name"));
int age = json_object_get_int(json_object_object_get(json, "age"));
const char* gender = json_object_get_string(json_object_object_get(json, "gender"));
printf("Name: %s, Age: %d, Gender: %s\n", name, age, gender);
// 生成Json字符串
json_object* new_json = json_object_new_object();
json_object_object_add(new_json, "name", json_object_new_string("Peter"));
json_object_object_add(new_json, "age", json_object_new_int(25));
json_object_object_add(new_json, "gender", json_object_new_string("female"));
char* new_json_string = json_object_to_json_string(new_json);
printf("New Json String: %s\n", new_json_string);
// 釋放Json對象
json_object_put(json);
json_object_put(new_json);
return 0;
}
以上代碼實現了Json字符串到C語言數據結構的轉換以及C語言數據結構到Json字符串的轉換。首先通過json_tokener_parse函數將Json字符串解析為Json對象,然后通過json_object_object_get函數獲取Json鍵值對(注意獲取的數據類型要與Json中對應的數據類型一致),最后通過json_object_to_json_string函數將C語言數據結構轉換為Json字符串。
這就是C語言中Json轉字符串格式的實現方法,使用Json-c這個第三方庫,可以讓我們在C語言開發中更加方便地操作Json數據類型,提高我們的編程效率。