淘先锋技术网

首页 1 2 3 4 5 6 7

C语言是一种强大的编程语言,它可以用于各种复杂的开发任务,其中包括读写JSON字符串。在这篇文章中,我们将研究如何使用C语言读取输出JSON字符串。

#include <stdio.h>
#include <jansson.h>
int main() {
const char *json_string = "{\"name\":\"Tom\", \"age\": 25, \"city\":\"New York\"}";
json_t *root = NULL;
json_error_t error;
root = json_loads(json_string, 0, &error);
if (root) {
const char *name = json_string_value(json_object_get(root, "name"));
int age = json_integer_value(json_object_get(root, "age"));
const char *city = json_string_value(json_object_get(root, "city"));
printf("Name: %s\n", name);
printf("Age: %d\n", age);
printf("City: %s\n", city);
json_decref(root);
} else {
printf("Error: %s\n", error.text);
}
return 0;
}

上述代码演示了如何使用C语言解析JSON字符串。在第3行中,我们定义了一个JSON字符串并将其分配给“json_string”变量。接下来,在第5行中,我们使用json_t类型的“root”变量来解析JSON字符串,并在第7行中定义了一个json_error_t类型的变量“error”,用于捕获解析过程中的任何错误。

接下来,在第9行中,我们使用json_loads()函数将JSON字符串转换为JSON对象,并将其分配给“root”变量。如果解析成功,则调用json_object_get()函数获取JSON对象中的值,并将其结果转换为适当的类型。在第13行中,我们获取“name”属性并将其转换为C字符串。“json_string_value()”函数用于将JSON对象的值转换为C字符串类型。在第14和第15行中,我们获取“age”和“city”属性,并将它们转换为C整数和C字符串类型。最后,我们使用“printf()”函数输出所有属性的值。在第21行中,我们释放从JSON字符串分配的所有内存。

总之,上述代码将JSON字符串转换为JSON对象,并从对象中获取所有属性的值并输出这些值。它演示了如何使用C语言读取JSON字符串,并为您提供了解析JSON的指导。