在C語言中,將JSON字符串轉換為對象是一項常見的任務。為了完成這個任務,我們需要使用一個稱為Jansson的庫,它為我們提供了一個簡單易用的API來處理JSON數據。以下是一個示例代碼,可以將JSON字符串轉換為對象:
#include <jansson.h> int main() { const char* json_string = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}"; json_t* json = json_loads(json_string, 0, NULL); if (!json_is_object(json)) { fprintf(stderr, "error: JSON data is not an object\n"); json_decref(json); return 1; } json_t* name = json_object_get(json, "name"); json_t* age = json_object_get(json, "age"); json_t* city = json_object_get(json, "city"); if (!json_is_string(name) || !json_is_integer(age) || !json_is_string(city)) { fprintf(stderr, "error: JSON data is not in the correct format\n"); json_decref(json); return 1; } printf("Name: %s\n", json_string_value(name)); printf("Age: %d\n", json_integer_value(age)); printf("City: %s\n", json_string_value(city)); json_decref(json); return 0; }
這段代碼首先使用json_loads函數將所提供的JSON字符串加載到json_t對象中。接下來,我們檢查JSON數據是否為對象。如果不是,我們將輸出錯誤消息并返回錯誤退出代碼。接著,我們使用json_object_get函數獲取對象中的每個屬性,并使用json_is_string和json_is_integer函數來確保屬性具有正確的類型。最后,我們打印每個屬性的值,以演示我們成功將JSON數據轉換為對象。
上一篇vue fatal
下一篇python 窗體多線程