淘先锋技术网

首页 1 2 3 4 5 6 7

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,由键值对组成的集合,常用于网络传输,且越来越被广泛使用。在C语言中,也可以用结构体存储JSON数据,方便进行数据处理。


/*定义一个结构体用于存储JSON数据*/
typedef struct {
    char name[20];
    int age;
    char address[50];
}Person;

json串 c 结构体

在C语言中,结构体是由一些相互关联的变量组成的,这些变量可以是不同的类型。以上的结构体用来存储人物的姓名、年龄和地址。可以按照一定的格式将JSON数据解析并存储到该结构体中。


/*解析JSON数据存储到结构体中*/
void json_to_struct(char* json_str, Person* person) {
    cJSON* root = cJSON_Parse(json_str);    //解析JSON串
    cJSON* name = cJSON_GetObjectItem(root, "name");    //获取键名为name的值
    cJSON* age = cJSON_GetObjectItem(root, "age");    //获取键名为age的值
    cJSON* address = cJSON_GetObjectItem(root, "address");    //获取键名为address的值
    strcpy(person->name, name->valuestring);    //将获取的值写入结构体中
    person->age = age->valueint;
    strcpy(person->address, address->valuestring);
    cJSON_Delete(root);    //释放内存
}

通过cJSON库的提供的函数,可以轻松地获取JSON串中每个键的值,然后将其存储到上述定义的结构体中,方便后续处理和使用。

总之,使用结构体存储JSON数据是C语言中进行数据处理的一个好方式,有助于简化代码,提高代码效率,也有利于数据的组织、存储和使用。