在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 语言对象,并且可以获得相应的值。在实际开发中,我们可以将这些值赋值给相应的变量,以实现更复杂的操作。