在C語言中,字符串類型表示為char*或char[]。 當我們需要將C字符串轉換為JSON格式時,我們可以使用json-c庫。 json-c是一個用于C語言的JSON庫,它可以將C數據類型序列化和反序列化為JSON。
#include <stdio.h> #include <json-c/json.h> int main() { char* str = "{ \"name\": \"張三\", \"age\": 20 }"; struct json_object* obj = json_tokener_parse(str); printf("%s\n", json_object_to_json_string(obj)); return 0; }
首先,我們需要包含json-c頭文件。 然后,定義一個C字符串作為JSON字符串。我們使用json_tokener_parse()函數將C字符串解析為json_object結構體。最后,通過調用json_object_to_json_string()函數,將JSON對象轉換為字符串格式。
如果我們需要創建JSON對象以反向操作,則可以使用json_object_new_object()函數創建空的JSON對象,然后將鍵值對添加到對象中。
struct json_object* obj = json_object_new_object(); json_object_object_add(obj, "name", json_object_new_string("張三")); json_object_object_add(obj, "age", json_object_new_int(20)); printf("%s\n", json_object_to_json_string(obj));
在此示例中,我們使用json_object_new_object()函數創建一個空的JSON對象。通過json_object_object_add()函數,我們向對象添加兩個鍵值對。最后,使用json_object_to_json_string()函數將JSON對象轉換為字符串格式。