在C語言中解析JSON數組嵌套是一件比較復雜的事情。下面是一些提供幫助的代碼。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { const char* json_str = "{ \"array\": [{\"num\": 1}, {\"num\": 2}], \"str\": \"Hello World!\"}"; json_t* root; json_error_t error; root = json_loads(json_str, 0, &error); if(!root) { printf("JSON error on line %d: %s\n", error.line, error.text); return 1; } json_t* array = json_object_get(root, "array"); size_t i, size = json_array_size(array); for(i = 0; i< size; i++) { json_t* num = json_object_get(json_array_get(array, i), "num"); printf("%lld\n", json_integer_value(num)); } json_t* str = json_object_get(root, "str"); printf("%s\n", json_string_value(str)); json_decref(root); return 0; }
這里的代碼使用了JSON C庫進行解析。我們可以從JSON字符串中加載JSON對象,然后使用json_object_get函數來獲取對象中的值。對于嵌套的數組,我們可以使用json_array_get函數來獲取數組中的元素,然后使用json_object_get函數來獲取元素中的值。最后使用json_decref函數釋放內存。