当先锋百科网

首页 1 2 3 4 5 6 7

C语言中解析JSON是一项基本任务。它允许程序从JSON格式的数据中获取信息并使用该信息。使用C语言解析JSON需要使用JSON数据类型和相应的库函数。

#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
int main() {
char *json_string = "{\"name\": \"Tom\", \"age\": 20}";
json_error_t error;
json_t *root;
root = json_loads(json_string, 0, &error);
if(!root) {
printf("Error: on line %d: %s\n", error.line, error.text);
return 1;
}
const char *key;
json_t *value;
json_object_foreach(root, key, value) {
printf("key: %s\n", key);
switch(json_typeof(value)) {
case JSON_STRING:
printf("string: %s\n", json_string_value(value));
break;
case JSON_INTEGER:
printf("integer: %lld\n", json_integer_value(value));
break;
default:
printf("unhandled type\n");
}
}
json_decref(root);
return 0;
}

在此示例中,我们使用jansson库解析一个JSON字符串,并遍历它的键值对。为了解释JSON数据,我们使用json_typeof()函数来确定值的类型并打印出它的值。在此示例中,我们只处理了字符串和整数。