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

c json 轉實體

錢斌斌2年前8瀏覽0評論

在C語言中,json轉實體是一個常見的操作。C語言中有許多開源的json解析庫,如cJSON、Jansson等等。這些庫都支持將json數據轉為C語言中的對應數據類型,如數組、字符串、數字等,便于后續的操作。

以下是使用cJSON庫將json數據轉為實體的示例代碼:

#include#include#include#include "cJSON.h"
typedef struct {
int id;
char name[20];
int age;
} Person;
void json_to_person(char *json_str, Person *person) {
cJSON *root = cJSON_Parse(json_str);
if (root == NULL) {
printf("Parse Error: %s\n", cJSON_GetErrorPtr());
return;
}
cJSON *temp = NULL;
temp = cJSON_GetObjectItem(root, "id");
person->id = temp->valueint;
temp = cJSON_GetObjectItem(root, "name");
strncpy(person->name, temp->valuestring, sizeof(person->name) - 1);
temp = cJSON_GetObjectItem(root, "age");
person->age = temp->valueint;
cJSON_Delete(root);
}
int main() {
char *json_str = "{\"id\": 1, \"name\": \"Tom\", \"age\": 18}";
Person person;
json_to_person(json_str, &person);
printf("id: %d, name: %s, age: %d\n", person.id, person.name, person.age);
return 0;
}

在示例代碼中,定義了一個Person結構體,包含了id、name和age三個成員變量。在json_to_person函數中,使用cJSON_GetObjectItem函數從json數據中獲取對應的值,并將其賦值給person結構體的成員變量。

使用cJSON庫將json數據轉為實體,可以方便地在C語言中操作和處理json數據。但需要注意的是,需要根據json數據的結構及其數據類型定義對應的C語言結構體。