淘先锋技术网

首页 1 2 3 4 5 6 7

C语言是一种编程语言,广泛应用于各种领域。在Web开发中,JSON字符串常常作为数据交换的格式。在C语言中,如何将JSON字符串转化为数组呢?下面就让我们来介绍一下。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>   //jansson库是一个用于C语言的解析JSON的库
int main() {
const char* str = "{\"name\":\"张三\",\"age\":25}";  //JSON字符串
json_t *root;
json_error_t error;
root = json_loads(str, 0, &error);   //将JSON字符串加载到Jansson的数据结构中
if(!root) {
printf("json_loads error: on line %d: %s\n", error.line, error.text);  //输出错误信息
exit(1);
}
json_t *name = json_object_get(root, "name");   //根据key获取value
json_t *age = json_object_get(root, "age");
const char *nameStr = json_string_value(name);  //将value转化为字符串
int ageInt = json_integer_value(age);   //将value转化为整型
printf("Name: %s, Age: %d\n", nameStr, ageInt);
json_decref(root);   //释放json_t类型的变量所占用的空间
return 0;
}

在上述代码中,我们使用了Jansson库来解析JSON字符串,并将其加载到Jansson的数据结构中。然后通过json_object_get函数,根据JSON key获取value值,之后将其转化为所需的数据类型。

C语言中,通过使用Jansson库,可以方便地将JSON字符串转化为数组。