欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c語言json數據解析

傅智翔1年前7瀏覽0評論

JSON是一種輕量級的數據交互格式,常用于Web應用中的數據傳輸。在C語言中,我們可以使用一些開源的JSON庫來對JSON數據進行解析,從而提取出所需的信息。

下面是一個用C語言解析JSON數據的示例程序:

#include <stdio.h>
#include <jansson.h>
int main()
{
char *json_str = "{\"name\":\"Tom\",\"age\":21,\"hobby\":[\"basketball\",\"music\"]}";
json_error_t error;
json_t *root = json_loads(json_str, 0, &error);
if(root != NULL)
{
json_t *name = json_object_get(root, "name");
if(json_is_string(name))
{
printf("Name: %s\n", json_string_value(name));
}
json_t *age = json_object_get(root, "age");
if(json_is_integer(age))
{
printf("Age: %d\n", (int)json_integer_value(age));
}
json_t *hobby = json_object_get(root, "hobby");
if(json_is_array(hobby))
{
printf("Hobby:\n");
size_t index;
json_t *value;
json_array_foreach(hobby, index, value)
{
if(json_is_string(value))
{
printf("%d: %s\n", (int)index, json_string_value(value));
}
}
}
json_decref(root);
}
else
{
printf("Error: %s\n", error.text);
}
return 0;
}

代碼解釋:

1. #include <jansson.h> 引入JSON庫。
2. 定義json_str字符串來存放JSON數據。
3. 調用json_loads函數將JSON字符串轉換成JSON對象,如果轉換成功則返回一個json_t*類型的root指針。
4. 使用json_object_get函數獲取JSON對象的屬性值,并使用不同的json_is_*函數來判斷屬性值的類型。
5. 使用json_array_foreach函數遍歷JSON數組,獲取其中的元素。
6. 調用json_decref函數釋放JSON對象的內存空間。

使用JSON庫解析JSON數據,可以使得C語言在Web應用中處理數據變得更加方便高效。在實際應用中,我們可以根據不同的需求選擇不同的JSON庫,比如jansson、cJSON、json-c等。