c webservice接收json數據
在我們進行web服務開發時,經常會涉及到接收json數據的操作,這時我們需要使用c語言編寫,下面是一個簡單的demo。
#include<stdio.h> #include <string.h> #include <jansson.h> int main() { const char* json_string = "{\"name\":\"zhangsan\",\"age\":24,\"address\":\"beijing\"}"; json_error_t error; json_t* root = json_loads(json_string, JSON_DECODE_ANY, &error); if(root == NULL) { printf("json_loads error: %s", error.text); return -1; } json_t* name = json_object_get(root, "name"); printf("name: %s\n", json_string_value(name)); json_t* age = json_object_get(root, "age"); printf("age: %d\n", json_integer_value(age)); json_t* address = json_object_get(root, "address"); printf("address: %s\n", json_string_value(address)); json_decref(root); return 0; }
在上述代碼中,我們使用了libjson-c庫來解析json數據,其實現基于了json-c開源項目。通過調用json_loads函數,我們可以將json字符串解析成json對象,然后再通過json_object_get函數來獲取json對象中的對應屬性值。在函數執行完成后,我們還需要使用json_decref函數來釋放json對象內存。
至此,我們就學會了在c語言中接收json數據的方法。
下一篇vue css 出錯