在C語言中,解析JSON字符串是一項非常常見的任務。因此,了解如何解析JSON字符串中的列表字符串也是非常必要的。
JSON列表字符串的格式如下:
{ "list": [ "item1", "item2", "item3" ] }
其中,“list”是一個鍵,其對應的值是一個字符串數組。
為了解析JSON字符串中的列表字符串,我們需要使用JSON-C庫。JSON-C庫是一個C語言中輕量級的JSON庫,它包含JSON-解析器和JSON-生成器。以下是JSON-C庫中解析JSON字符串中的列表字符串的示例代碼:
#include#include int main() { const char *string = "{\"list\":[\"item1\", \"item2\", \"item3\"]}"; json_object *json = json_tokener_parse(string); json_object *list; if (json_object_object_get_ex(json, "list", &list)) { int len = json_object_array_length(list); int i; for (i = 0; i < len; i++) { printf("%s\n", json_object_get_string(json_object_array_get_idx(list, i))); } } json_object_put(json); return 0; }
在以上代碼中,我們使用了json_tokener_parse函數將JSON字符串解析為JSON對象。然后,我們使用json_object_object_get_ex函數獲取“list”鍵對應的值,該值是一個字符串數組。最后,我們使用json_object_array_length函數獲取字符串數組的長度,并使用json_object_array_get_idx和json_object_get_string函數循環遍歷整個數組,輸出每個字符串。