当先锋百科网

首页 1 2 3 4 5 6 7

在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库就可以轻松解决。