在C语言中,我们经常需要接收JSON数据。JSON是一种轻量级的数据格式,常用于数据交互。下面我们来介绍一下在C语言中如何接收JSON数据。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main(void) { char* json_text = "{\"name\":\"Tom\",\"age\":18}"; json_error_t error; json_t *root = json_loads(json_text, 0, &error); if (!root) { printf("json_loads error: %s\n", error.text); return -1; } json_t *name = json_object_get(root, "name"); if (!json_is_string(name)) { printf("name is not string\n"); return -1; } const char *name_str = json_string_value(name); printf("name: %s\n", name_str); json_t *age = json_object_get(root, "age"); if (!json_is_integer(age)) { printf("age is not integer\n"); return -1; } int age_int = json_integer_value(age); printf("age: %d\n", age_int); return 0; }
以上代码演示了如何解析JSON数据。首先我们需要准备一个JSON文本,然后用json_loads函数把JSON解析成json_t类型的结构体。然后就可以通过json_object_get函数获取JSON对象的属性值。
如果你还没有安装jansson库,可以通过以下命令进行安装:
sudo apt-get install libjansson-dev
总的来说,接收JSON数据在C语言中并不困难,只需要使用jansson库就可以轻松解决。