c語言是一種功能強大的編程語言,在后臺開發中也得到了廣泛的應用。在開發中,很多時候我們需要接收前端傳來的json數據,這時就需要用到json解析。下面將介紹一下c后臺如何解析json數據。
// json數據形式 { "name":"Tom", "age":21, "job":"engineer" } // 解析代碼 #include#include #include #include "cJSON.h" // json解析器庫 // 解析json數據 void parseJson(char* jsonStr){ // json解析器實例化 cJSON* root = cJSON_Parse(jsonStr); if(!root){ printf("Error before: [%s]\n", cJSON_GetErrorPtr()); return; } cJSON* name = cJSON_GetObjectItem(root, "name"); cJSON* age = cJSON_GetObjectItem(root, "age"); cJSON* job = cJSON_GetObjectItem(root, "job"); printf("name=%s age=%d job=%s\n", name->valuestring, age->valueint, job->valuestring); // 釋放json解析結果 cJSON_Delete(root); } int main(){ char jsonStr[] = "{ \"name\":\"Tom\", \"age\":21, \"job\":\"engineer\" }"; parseJson(jsonStr); return 0; }
如上面的代碼所示,我們使用了一個cjson庫,它非常方便地解析json數據,并且使用非常簡單。我們只需要實例化一個cJSON結構體變量,并調用相應的API來獲取key對應的value值即可。
同時,在代碼結尾處我們還需要使用cJSON_Delete()來釋放json解析結果,以免引起內存泄漏。
在實際應用中,我們需要從文件或網絡接收JSON數據,然后傳給解析函數進行解析。不過,無論從哪里獲取JSON數據,這種解析方法都是適用的。