C語言中的字符串與JSON對象之間的轉換是一種常見的操作。在C語言中,字符串是以字符數組的形式表示的,而JSON對象是由多個鍵值對組成的數據結構。
要將一個字符串轉換為JSON對象,我們需要將字符串解析為鍵值對以便構建JSON對象。
//首先需要包含 json-c 庫 #include <json-c/json.h> //一個簡單的C語言字符串 char* str = "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }"; //將字符串解析為JSON對象 struct json_object *root = json_tokener_parse(str); //獲取JSON對象中的鍵值對 struct json_object *name, *age, *city; json_object_object_get_ex(root, "name", &name); json_object_object_get_ex(root, "age", &age); json_object_object_get_ex(root, "city", &city); //輸出鍵值對 printf("Name: %s\n", json_object_get_string(name)); printf("Age: %d\n", json_object_get_int(age)); printf("City: %s\n", json_object_get_string(city));
在上面的代碼中,我們首先將字符串 "{ \"name\": \"John\", \"age\": 30, \"city\": \"New York\" }" 解析為JSON對象。接著,我們使用json_object_object_get_ex()函數獲取JSON對象中指定鍵的值,并輸出它們。
要將JSON對象轉換為字符串,我們可以使用json_object_to_json_string()函數。
//將JSON對象轉換為字符串 char* str = json_object_to_json_string(root); printf("%s\n", str);
在上面的代碼中,我們使用json_object_to_json_string()函數將JSON對象轉換為字符串,并打印輸出。
在實際開發中,我們可能會需要更復雜的JSON字符串操作,比如包含數組和嵌套的JSON對象。使用json-c庫可以簡化這些操作,提高開發效率。