C語言是一門高效的編程語言,有時候我們需要從JSON中獲取數(shù)據(jù)以便在程序中使用。在C語言中獲取JSON數(shù)據(jù)相對比較困難,因為C語言是一門底層語言。在這篇文章中,我們將會演示如何使用C語言取JSON中的數(shù)據(jù)。
// 首先,我們需要使用CJSON的庫。 #include "cJSON.h" #includeint main(){ // 其中的JSON內(nèi)容就暫且為{"name":"John", "age":30, "city":"New York"} const char *json_string = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; cJSON *json = cJSON_Parse(json_string); if(json == NULL){ printf("Error: cJSON_Parse failed.\n"); return 1; } // 接下來,我們將會從JSON中獲取“name”這個數(shù)據(jù)。 cJSON *name = cJSON_GetObjectItem(json, "name"); if(name == NULL){ printf("Error: cJSON_GetObjectItem failed to get \"name\".\n"); return 1; } printf("name: %s\n", cJSON_Print(name)); // 獲取“age”數(shù)據(jù) cJSON *age = cJSON_GetObjectItem(json, "age"); if(age == NULL){ printf("Error: cJSON_GetObjectItem failed to get \"age\".\n"); return 1; } printf("age: %d\n", age->valueint); // 獲取“city”數(shù)據(jù) cJSON *city = cJSON_GetObjectItem(json, "city"); if(city == NULL){ printf("Error: cJSON_GetObjectItem failed to get \"city\".\n"); return 1; } printf("city: %s\n", cJSON_Print(city)); // 釋放內(nèi)存并結(jié)束 cJSON_Delete(json); return 0; }
代碼中,我們引入了"CJSON.h"這個庫,并且定義了一段JSON數(shù)據(jù)。接著,我們調(diào)用cJSON_Parse函數(shù)來解析這個JSON,并且利用cJSON_GetObjectItem方法獲取其中的數(shù)據(jù)。最后,我們釋放內(nèi)存,并結(jié)束程序。
通過以上操作,我們就可以在C語言中獲取JSON數(shù)據(jù)了。我們可以使用這種方法來處理類似這樣的任務,以避免手動解析JSON數(shù)據(jù)的麻煩。
下一篇vue加高德地圖