在C JSP中遍歷JSON數組是一項常見任務。為了完成此任務,需要使用C語言中的JSON庫,并編寫相應的代碼。下面我們將介紹如何遍歷JSON數組。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main(int argc, char *argv[])
{
// 創建JSON數組
json_t *json_array;
json_array = json_array();
// 向JSON數組中添加元素
json_t *json_element;
json_element = json_string("hello");
json_array_append(json_array, json_element);
json_element = json_integer(123);
json_array_append(json_array, json_element);
json_element = json_boolean(1);
json_array_append(json_array, json_element);
// 遍歷JSON數組
int size = json_array_size(json_array);
for (int i = 0; i < size; i++)
{
json_t *json_element = json_array_get(json_array, i);
const char *type = json_typeof(json_element);
if (strcmp(type, "string") == 0)
{
const char *value = json_string_value(json_element);
printf("string: %s\n", value);
}
else if (strcmp(type, "integer") == 0)
{
int value = json_integer_value(json_element);
printf("integer: %d\n", value);
}
else if (strcmp(type, "boolean") == 0)
{
int value = json_boolean_value(json_element);
printf("boolean: %d\n", value);
}
}
json_decref(json_array);
return 0;
}
上述代碼首先創建了一個JSON數組,然后向其中添加了三個元素:一個字符串、一個整數和一個布爾值。接下來,使用循環遍歷JSON數組中的所有元素。在循環體中,首先獲取當前元素的類型,并根據類型來決定對元素的訪問方式。如果元素是一個字符串,就使用json_string_value函數獲取其值,并打印出來;如果元素是一個整數,就使用json_integer_value函數獲取其值,并打印出來;如果元素是一個布爾值,就使用json_boolean_value函數獲取其值,并打印出來。
最后,在程序退出之前,使用json_decref函數釋放JSON數組的內存。
上一篇get json的地址
下一篇python 文字識別庫