在C語言中,處理JSON格式的數據非常常見。在某些情況下,我們需要將JSON字符串轉換為List列表進行處理。下面是一些實現這一轉換的代碼例子。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main(int argc, char const *argv[])
{
char *json_str = "[\"apple\", \"banana\", \"cherry\"]";
json_error_t error;
json_t *root = json_loads(json_str, 0, &error);
if (!root) {
fprintf(stderr, "json error on line %d: %s\n", error.line, error.text);
return 1;
}
if (!json_is_array(root)) {
fprintf(stderr, "error: root is not an array\n");
json_decref(root);
return 1;
}
size_t index;
json_t *item;
printf("List:\n");
json_array_foreach(root, index, item) {
printf(" %s\n", json_string_value(item));
}
json_decref(root);
return 0;
}
以上代碼使用了jansson庫來實現JSON數據的處理。它首先將JSON字符串加載到json_t結構體中,然后檢查是否是一個數組。如果是,則遍歷數組并打印每個元素的值。
當然,如果你需要解析更復雜的JSON數據結構,你可以使用其他的JSON庫或者自己編寫解析代碼。總的來說,將JSON字符串轉換為List列表只需要幾行簡單的代碼就可以完成。