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()函数来确定值的类型并打印出它的值。在此示例中,我们只处理了字符串和整数。