色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 將json轉換成object

方一強2年前8瀏覽0評論

在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數據轉換為對象。