C語言中的JSON串序列化是通過調用相關的API實現的,其主要引用了json-c庫和libjson庫,支持標準的JSON格式,如數組、對象、字符串、數字等類型,可根據需求靈活使用。
//json-c庫的使用示例 #include <json-c/json.h> int main() { //創建一個新的JSON對象 struct json_object *obj = json_object_new_object(); //向JSON對象中添加一個鍵值對 json_object_object_add(obj, "name", json_object_new_string("張三")); //將JSON對象轉換為JSON串 const char *str = json_object_to_json_string(obj); //輸出JSON串 printf("%s", str); //釋放JSON對象 json_object_put(obj); return 0; }
從上面的示例中可以看到,json-c庫的主要API是json_object_new_***和json_object_***,這些API提供了創建JSON對象和操縱JSON對象等功能,可根據需要選擇使用。
//libjson庫的使用示例 #include <libjson.h> int main() { //創建一個新的JSON對象 JSONNODE *node = json_new(JSON_NODE); //向JSON對象中添加一個鍵值對 json_set_a(node, "name", json_new_a("張三")); //將JSON對象轉換為JSON串 char *str = json_write_formatted(node); //輸出JSON串 printf("%s", str); //釋放JSON對象 json_delete(node); return 0; }
libjson庫與json-c庫類似,也提供了創建JSON對象和操縱JSON對象等功能,不同的是它的API是以json_***為前綴的,使用時需注意區分。