欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json對象轉結構體

劉柏宏2年前11瀏覽0評論

C是一門高效而又廣泛應用的編程語言,與之相關的JSON格式也是現代軟件開發中不可或缺的一部分。JSON格式為我們提供了一種簡單,易于理解和使用的數據交換格式。

在C語言中,我們經常需要將JSON對象轉換為結構體,以便更方便地操作數據。此時,我們可以使用第三方庫cJSON來實現這個功能。

#include <stdio.h>
#include <stdlib.h>
#include <cJSON.h>
struct person{
char* name;
int age;
char* address;
};
int main()
{
const char* json = "{ \"name\":\"Tom\", \"age\":25, \"address\":\"No.1 Road\" }";
cJSON* root = cJSON_Parse(json);
if (root == NULL) {
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return 1;
}
struct person p;
p.name = cJSON_GetObjectItem(root, "name")->valuestring;
p.age = cJSON_GetObjectItem(root, "age")->valueint;
p.address = cJSON_GetObjectItem(root, "address")->valuestring;
printf("Person's name: %s\n", p.name);
printf("Person's age: %d\n", p.age);
printf("Person's address: %s\n", p.address);
cJSON_Delete(root);
return 0;
}

在上面的代碼中,首先我們定義了一個person結構體,并在main函數中實例化了這個結構體。接著,我們采用了cJSON提供的cJSON_Parse函數來將JSON字符串轉換為cJSON對象。

轉換成功后,我們就可以使用cJSON_GetObjectItem函數獲取JSON對象的子元素,并將其賦值給person結構體的對應成員變量。

最后,我們輸出結構體的各個成員變量的值,以驗證我們的代碼是否正常運行。

這就是使用C語言中cJSON庫將JSON對象轉換為結構體的過程。借助cJSON庫,我們可以更方便地操作JSON數據,并將其轉換為C語言中更易于操作的結構體。