在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語言結構體。
上一篇python 運籌學框架
下一篇python 撥號換ip