c json是一種輕量級的數據交換格式,它被廣泛應用于前后端數據傳輸、網絡通信、配置文件讀取等場景。使用c json查詢可以快速找到指定字段或數組元素,提高數據處理效率。
//示例1:從json字符串中獲取指定字段的值 char *json_str = "{\"name\":\"小明\",\"age\":18,\"hobbies\":[\"reading\",\"music\"]}"; cJSON *root = cJSON_Parse(json_str); cJSON *name = cJSON_GetObjectItem(root, "name"); //獲取name字段 printf("%s的年齡是%d歲。", name->valuestring, cJSON_GetObjectItem(root, "age")->valueint); //示例2:遍歷json數組 cJSON *hobbies = cJSON_GetObjectItem(root, "hobbies"); cJSON *hobby = NULL; cJSON_ArrayForEach(hobby, hobbies) { //遍歷hobbies數組 printf("%s\n", hobby->valuestring); //獲取數組元素的值 } //示例3:嵌套查詢 char *json_str2 = "{\"students\":[{\"name\":\"小紅\",\"age\":19,\"scores\":[90,85,88]},{\"name\":\"小剛\",\"age\":20,\"scores\":[82,87,92]}]}"; root = cJSON_Parse(json_str2); cJSON *students = cJSON_GetObjectItem(root, "students"); //獲取students數組 cJSON *student = NULL; cJSON_ArrayForEach(student, students) { //遍歷students數組 cJSON *name = cJSON_GetObjectItem(student, "name"); //獲取name字段 printf("%s的成績為:", name->valuestring); cJSON *scores = cJSON_GetObjectItem(student, "scores"); //獲取scores數組 cJSON *score = NULL; cJSON_ArrayForEach(score, scores) { //遍歷scores數組 printf("%d ", score->valueint); //獲取數組元素的值 } printf("\n"); }
上述示例展示了c json查詢的常見用法,通過掌握它們可以更加靈活、高效地對json數據進行處理。在實際開發中,我們需要根據業務需求靈活運用c json的各種接口,以便更好地完成數據處理任務。