当先锋百科网

首页 1 2 3 4 5 6 7

在C语言的开发中,json格式的数据已经越来越常见。而将json数据复制成C语言对象也是一个常见的操作。下面就介绍一下如何使用C语言将json数据复制成对象。

// 引入 cJSON.h 头文件
#include "cJSON.h"
// 定义 json 字符串
char *jsonStr = "{ 
\"name\":\"Tom\", 
\"age\":18,
\"sex\":\"male\",
\"hobby\":[\"reading\",\"music\",\"sports\"]
}";
// 将 json 字符串解析为 cJSON 的对象
cJSON *json = cJSON_Parse(jsonStr);
// 获取对象的值
char *name = cJSON_GetObjectItem(json, "name")->valuestring;
int age = cJSON_GetObjectItem(json, "age")->valueint;
char *sex = cJSON_GetObjectItem(json, "sex")->valuestring;
cJSON *hobbyArray = cJSON_GetObjectItem(json, "hobby");
int hobbyCount = cJSON_GetArraySize(hobbyArray);
// 打印结果
printf("name: %s\n", name);
printf("age: %d\n", age);
printf("sex: %s\n", sex);
for (int i = 0; i< hobbyCount; i++) {
char *hobby = cJSON_GetArrayItem(hobbyArray, i)->valuestring;
printf("hobby%d: %s\n", i+1, hobby);
}
// 释放 cJSON 对象占用的空间
cJSON_Delete(json);

通过这段代码,我们就可以将 json 数据复制成 C 语言对象,并且可以获得相应的值。在实际开发中,我们可以将这些值赋值给相应的变量,以实现更复杂的操作。