在C語言中,將字符串轉換為JSON對象數組的方法可以用JSON-C庫來實現。JSON-C是一個開源的JSON解析器和生成器,可以輕松地在C語言中使用JSON格式。
#include <json-c/json.h> int main(){ char* str = "{ \"name\":\"張三\", \"age\": 18, \"gender\": \"male\" }"; struct json_object *obj, *name, *age, *gender; // 將字符串轉換為json對象 obj = json_tokener_parse(str); // 從json對象中獲取name, age, gender json_object_object_get_ex(obj, "name", &name); json_object_object_get_ex(obj, "age", &age); json_object_object_get_ex(obj, "gender", &gender); // 輸出name, age, gender printf("name: %s\n", json_object_get_string(name)); printf("age: %d\n", json_object_get_int(age)); printf("gender: %s\n", json_object_get_string(gender)); return 0; }
上述代碼將字符串"{\"name\":\"張三\", \"age\": 18, \"gender\": \"male\" }"轉換為JSON對象,并從中獲取name, age和gender的值來進行輸出。可以使用json_object_get_xxx()函數來獲取不同類型的值,例如json_object_get_string()獲得字符串值,json_object_get_int()獲得整數值,等等。
如果需要將一個JSON對象數組串轉換為JSON數組對象,可以使用json_tokener_parse()函數,返回一個json_object類型的指針。通過json_object_object_get_ex()函數,我們可以根據鍵名獲取該對象中的某個子對象,并存儲到指定的變量中。這些元素可以輕松訪問,管理和修改。