C語言是一門功能非常強大的編程語言,同時也是一門非常底層的語言,所以在C語言中如何收發JSON數據就成為了一個非常重要的問題。
在C語言中,我們需要用到JSON-C這個庫來處理JSON數據。JSON-C是一個簡單的JSON解析器和構造器,可以輕松地在C語言中使用。對于使用者來說,JSON-C提供的API非常簡單易用,給開發者的開發工作帶來了很大的便利。
下面是一個示例代碼,演示了如何在C語言中使用JSON-C庫來構造和解析JSON數據:
#include#include #include "json-c/json.h" #define JSON_STRING "{\"name\": \"John Smith\",\"age\": 42,\"address\": {\"street\": \"123 Main St.\",\"city\": \"Anytown\",\"state\": \"CA\",\"zip\": \"12345\"}}" int main(int argc, char **argv) { // 解析JSON字符串 struct json_object *parsed_json; parsed_json = json_tokener_parse(JSON_STRING); // 獲取JSON對象中的值 struct json_object *name; struct json_object *age; struct json_object *address; struct json_object *street; struct json_object *city; struct json_object *state; struct json_object *zip; json_object_object_get_ex(parsed_json, "name", &name); json_object_object_get_ex(parsed_json, "age", &age); json_object_object_get_ex(parsed_json, "address", &address); json_object_object_get_ex(address, "street", &street); json_object_object_get_ex(address, "city", &city); json_object_object_get_ex(address, "state", &state); json_object_object_get_ex(address, "zip", &zip); // 輸出獲取到的值 printf("name=%s\n", json_object_get_string(name)); printf("age=%d\n", json_object_get_int(age)); printf("street=%s\n", json_object_get_string(street)); printf("city=%s\n", json_object_get_string(city)); printf("state=%s\n", json_object_get_string(state)); printf("zip=%s\n", json_object_get_string(zip)); // 構造JSON對象 struct json_object *new_obj = json_object_new_object(); json_object_object_add(new_obj, "name", json_object_new_string("Bob")); json_object_object_add(new_obj, "age", json_object_new_int(30)); printf("%s\n", json_object_to_json_string(new_obj)); // 釋放內存 json_object_put(parsed_json); json_object_put(new_obj); return 0; }
如上所示,在C語言中,我們可以使用JSON-C庫來解析和構造JSON數據,非常方便實用。其實,JSON-C的API還非常豐富,我們只需查看相關文檔即可快速學會它的使用,從而在C語言中收發JSON數據。
上一篇vue中使用vis